考虑:
$ echo line1 | awk '1END{ print "line2"}'
line1
line2
请注意1
和END
之间缺少空格。这是标准,还是我实现awk的怪癖?将动作与以下地址分开的语法规则是什么?
答案 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