awk后来在bash中拆分使用数组(Awk split use array later in bash)
如果我有这个awk命令......
echo $line | awk '{split($0,array,"|")}'...我怎样才能在bash程序中使用数组? 如果我稍后尝试从阵列中打印出信息,那么它就是空的。
If I have this awk command...
echo $line | awk '{split($0,array,"|")}'...how can I use array later in the bash program? If I try to print out information from the array later it's just empty.
最满意答案
如果打印它,你可以在awk之外使用awk数组内容:
IFS=$'\n' read -d '' -r -a line < <(echo 'o|p|s' | awk '{split($0,array,"|"); for (i in array) print array[i]}') declare -p line # OUTPUT: declare -a line='([0]="o" [1]="p" [2]="s")'You can use awk array contents outside of awk if you print it:
IFS=$'\n' read -d '' -r -a line < <(echo 'o|p|s' | awk '{split($0,array,"|"); for (i in array) print array[i]}') declare -p line # OUTPUT: declare -a line='([0]="o" [1]="p" [2]="s")'更多推荐
发布评论