Use array variable in awk?

后端 未结 4 947
你的背包
你的背包 2020-12-06 02:55
A=(aaa bbb ccc)    
cat abc.txt | awk \'{ print $1, ${A[$1]} }\'

I want to index an array element based on the $1, but the code above is not correc

4条回答
  •  误落风尘
    2020-12-06 03:01

    You can also print each element of the array on separate line with printf and pipe it to awk. This code will simply print bash array (bash_arr) from awk:

    bash_arr=( 1 2 3 4 5 )
    printf '%s\n' "${bash_arr[@]}" | 
        awk '    { awk_arr[NR] = $0 }
             END {
                 for (key in awk_arr) {
                     print awk_arr[key]
                 }
             }'
    

提交回复
热议问题