GNU Awk 4.2已发布,其中包含许多有趣的特性之一是:
- FIELDWIDTHS解析语法已得到增强,允许指定在字段开始之前要跳过多少个字符。还可以指定“*”作为最后一个字符,表示“记录的其余部分”。使用FIELDWIDTHS进行字段拆分时,现在会正确设置NF。FIELDWIDTHS在手册中的文档也得到了很大的重新组织和改进。
我测试了*
这个符号,并且它可以很好地捕捉最后一个块到$NF
:
# "*" catches in $NF from the 2+2+1=5th character and until the end
$ awk 'BEGIN {FIELDWIDTHS="2 2 *"} {print $NF}' <<< "1234567890"
567890
然而,我无法看到如何使用该功能的第一部分,该功能也在GNU Awk用户指南→ A.6 gawk功能历史→ gawk版本4.2引入了以下更改中描述:
FIELDWIDTHS已得到增强,允许在将值分配给字段之前跳过字符(请参见按内容拆分)。
我在链接的部分中也没有找到示例。因此,这个功能到底是做什么的,它是如何工作的呢?