awk FIELDWIDTHS如何工作

0.s*_*.sh 3 awk gnu

几天前我开始学习awk编程(有效的awk脚本).在第102页,作者正在解释字段宽度,但我不明白它是如何工作的.有人可以向我解释一下,如何使用fieldwidths吗?

Ken*_*ent 12

FIELDWIDTHS以空格分隔的字段宽度列表.设置时,gawk将输入解析为固定宽度的字段,而不是使用FS变量的值作为字段分隔符.

我认为一个例子更好地解释它是如何工作的:

$ echo "aaabbbbcccccdddddd"|awk -v FIELDWIDTHS="3 4 5 6" '{for(i=1;i<=NF;i++)print $i}'    
aaa
bbbb
ccccc
dddddd
Run Code Online (Sandbox Code Playgroud)

当很难找到FS记录时,它很有用,但记录有固定长度的字段.