regex - awk - 正则表达式中的变量扩展

标签 regex awk

为什么这样的东西不起作用:

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/

相关文章:

arrays - 如何使用 for 循环和使用 awk 的数组对文件的行进行重新排序

javascript - 每隔一个字符匹配一次

javascript - ExpressJS : What's the difference between ? 、 +、 * 在字符串模式和正则表达式中?

c++ - QRegularExpression 计数出现次数

awk - 使用 awk 将每个字符打印为自己的列?

linux - 如何使用 gsub 修改 awk 中变量的值并打印出来?

bash - FASTA文件的序列长度

java - Java 中用于正整数的正则表达式(不包括以零开头的整数)

JavaScript 正则表达式 .test() 的意外行为

linux - 通过拆分特定列值来重复行