为什么这样的东西不起作用:
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; }'
最佳答案
awk 不在 /
和 /
正则表达式之间使用变量:
以下等效项使用 ~
正则表达式运算符将产生相同的效果:
echo 4 | awk --assign=abc=4 '$0 ~ abc'
4
关于regex - awk - 正则表达式中的变量扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19188617/