为什么这样的事情不起作用:
echo 4 | awk --assign=abc=4 '/$abc/'
实际的例子要复杂得多。基本上我有一个正则表达式,我需要重复几次,所以我将它存储在abc
。有没有办法在/<regex>/
中扩展awk变量?我尝试过单引号和双引号,每种组合。我真的需要单行引用该行,因为我有几个双引号,它实际上看起来更像awk --assign=test=something '/$test/ { a lot of stuff here inc $test several times with double quotes; }'
答案 0 :(得分:3)
awk不使用/
和/
正则表达式之间的变量:
以下等效使用~
正则表达式运算符将起到相同的作用:
echo 4 | awk --assign=abc=4 '$0 ~ abc'
4