awk 似乎匹配所有匹配表达式的模式并执行相应的操作。是否有可以关联的优先级?
例如。在下面,以#(注释)开头的行被两个模式匹配,并且两个 Action 都被执行。我希望注释行仅匹配第一个操作。
/^#.*/ {
// Action for lines starting with '#'
}
{
// Action for other lines
}
最佳答案
如果你想保持你已经拥有的大部分代码完整无缺,你可以使用 awk
next 语句。一旦遇到 next
语句,awk
将跳过处理当前记录并转到下一行。
因此,如果将 next
放入第一个块的底部,则不会执行第二个块。
关于awk 多个匹配模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12252587/