使用awk与variables

x=3 A=`echo $A|awk '{print $x}'` echo $A 

不打印3.我如何使用awk的variables*

-v标志将variables传递给awk

 x=3 A=`echo $A|awk -vy=$x '{print y}'` echo $A 

您可以通过这种方式使用shell的variables: "'$your-shell-variable'"'$your-shell-variable' 。 前者认为variables是string,后者认为是数字。 以下是你想要的代码:

 x=3 A=`echo $A|awk '{print "'$x'"}'` echo $A 

呃呼应$A什么意义? 它只是创build一个无用的叉子和pipe道。

 x=3 A=`awk -vy=$x 'BEGIN {print y}'` echo $A 

而在我看来,这似乎是一个令人费解和昂贵的方式来写A=$x 🙂