不能在固定搜索awk命令中使用unix $变量

时间:2014-02-28 16:49:00

标签: linux bash shell unix awk

我不能在fiexd搜索awk命令时使用unix $变量。

请参阅下面的命令。

a="NEW_TABLES NEW_INSERT"
b="NEW"
echo $a | awk -v myvar=$b -F'$0~myvar' '{print $2}'

没有返回任何输出

但如果在那里手动输入$ b值,则其工作如下

echo $a | awk -v -F'NEW' '{print $2}'

    outputs: 
 TABLES NEW_INSERT

2 个答案:

答案 0 :(得分:2)

这应该成功:

$ a="NEW_TABLES NEW_INSERT"

$ echo $a | awk -F"NEW_" '{print $2}'
TABLES 

$ b="NEW_"
$ echo $a | awk -F"$b" '{print $2}'
TABLES 

答案 1 :(得分:1)

您的报价全部搞砸了,您可以使用变量分割线条:

a="NEW_TABLES NEW_INSERT"
b="NEW"
echo $a | awk -v myvar="$b" '{split($0,ary,myvar);print ary[2]}'

<强>输出:

_TABLES