2015-06-02 44 views
1

我想在awk命令的模式中使用腳本中的變量值,但無法做到這一點,任何人都可以幫助像如何做到這一點使用shell腳本的Solaris,下面參考如何在shell中solaris中使用變量值作爲模式awk命令

腳本部分的腳本部分:

x=`awk '/Ankur/{print NR:exit}' filename` 

當我硬編碼字符串「ANKUR」,程序將按預期,並打印行數。但是,我有一個名爲var的變量,其中包含字符串「Ankur」,我想提供的值爲var作爲模式。

我嘗試以下,但我沒有收到預期的效果:

x=`awk '/$var/{print NR:exit}' filename` 

感謝

+1

https://www.google.com/search?q=shell+quotes –

+1

[雙引號(http://pubs.opengroup.org/onlinepubs/ 9699919799 /公用事業/ V3_chap02.html#tag_18_02_03) – kojiro

回答

0

使用這個代替:

x=$(awk "/$var/{print NR:exit}" filename) 

單引號阻止變量擴展,所以你需要使用雙引號。

而且使用$()而不是背蜱