如何在solaris中的shell中的awk命令中使用变量值作为模式

时间:2015-06-02 19:20:43

标签: shell

我想在awk命令的模式中使用脚本中的变量值但是不能这样做,有人可以帮助像在Solaris中使用shell脚本那样做,下面是脚本部分供参考

脚本部分:

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

当我对字符串" Ankur"进行硬编码时,程序按预期工作并打印行号。但是,我有一个名为var的变量,其中包含字符串" Ankur"我希望将var的值作为模式提供。

我尝试了以下操作,但我没有得到预期的结果:

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

由于

1 个答案:

答案 0 :(得分:0)

请改用:

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

单引号可防止变量扩展,因此您需要使用双引号。

并使用$()代替反向标记