2011-06-16 52 views
6
x=3 
A=`echo $A|awk '{print $x}'` 
echo $A 

犯規打印3.使用AWK如何使用變量使用awk *與變量

回答

10

變量傳給awk-v標誌。

x=3 
A=`echo $A|awk -v y=$x '{print y}'` 
echo $A 
+0

尼斯之一。用雙引號替換引號也可以。 – 2011-06-16 14:22:16

+1

'echo $ A'有什麼好處?這裏沒有'$ A'。 – Jens 2014-03-03 16:10:07

3

您可以通過這種方式使用shell的變量:"'$your-shell-variable'"'$your-shell-variable'。前者將該變量視爲字符串,而後者將其視爲數字。以下是你想要的代碼:

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

呃,什麼是呼應$A?它只是創建一個無用的叉子和管道。

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

雖然我在這,這似乎是一個令人費解的和昂貴的方式來寫A=$x :-)

+0

Downvoting不告訴我爲什麼?那很便宜... – Jens 2014-03-03 16:40:18