我想在awk命令的模式中使用脚本中的变量值但是不能这样做,有人可以帮助像在Solaris中使用shell脚本那样做,下面是脚本部分供参考
脚本部分:
x=`awk '/Ankur/{print NR:exit}' filename`
当我对字符串" Ankur"进行硬编码时,程序按预期工作并打印行号。但是,我有一个名为var
的变量,其中包含字符串" Ankur"我希望将var
的值作为模式提供。
我尝试了以下操作,但我没有得到预期的结果:
x=`awk '/$var/{print NR:exit}' filename`
由于
答案 0 :(得分:0)
请改用:
x=$(awk "/$var/{print NR:exit}" filename)
单引号可防止变量扩展,因此您需要使用双引号。
并使用$()
代替反向标记