来自GNU Awk指南 - 7.1.4.2来自BEGIN和END规则的输入/输出
传统上,主要由于实现问题,在END规则中未定义$ 0和NF.POSIX标准指定NF在END规则中可用.它包含最后一个输入记录中的字段数.最有可能是由于疏忽,标准并没有说0美元也被保留,尽管逻辑上人们会认为它应该是.事实上,所有BWK awk,mawk和gawk都保留了$ 0的值,以便在END规则中使用.但请注意,其他一些实现和许多旧版本的Unix awk都没有.
所以,一般来说,END
现在包含最后一个$0
,而在你的[旧] awk版本中它没有.
例如,我的GNU Awk确实以"新"的方式工作:
$ awk --version
GNU Awk 4.1.0, API: 1.0
$ seq 10 | awk 'END {print}'
10
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
121 次 |
最近记录: |