将行动与模式分开

时间:2012-07-10 11:05:02

标签: awk

考虑:

$ echo line1 | awk '1END{ print "line2"}'
line1
line2

请注意1END之间缺少空格。这是标准,还是我实现awk的怪癖?将动作与以下地址分开的语法规则是什么?

1 个答案:

答案 0 :(得分:2)

您可能正在使用awk的旧版本。在原始的awk语言中,没有必要用分号分隔同一行的规则。为了与行动中的陈述处理保持一致,增加了它。

我发现了这个:

http://www.gnu.org/software/gawk/manual/html_node/Statements_002fLines.html

这适用于我使用GNU Awk 4.0.1:

$ echo line1 | awk '1; END { print "line2" }'
line1
line2

如果删除;,我会收到语法错误。 HTH