awk FIELDWIDTHS是如何工作的

awk FIELDWIDTHS是如何工作的,awk,gnu,Awk,Gnu,几天前我开始学习awk编程(有效的awk脚本)。在第102页,作者解释了字段宽度,但我不明白它是如何工作的。请有人能给我解释一下fieldwidths是如何工作的吗 字段宽度以空格分隔的字段宽度列表。设定时, gawk将输入解析为固定宽度的字段,而不是使用 FS变量的值作为字段分隔符 我认为最好用一个例子来解释它是如何工作的: $ echo "aaabbbbcccccdddddd"|awk -v FIELDWIDTHS="3 4 5 6" '{for(i=1;i<=NF;i++)print

几天前我开始学习awk编程(有效的awk脚本)。在第102页,作者解释了字段宽度,但我不明白它是如何工作的。请有人能给我解释一下fieldwidths是如何工作的吗

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

我认为最好用一个例子来解释它是如何工作的:

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

$echo“aaabbbcccccdddd”| awk-v FIELDWIDTHS=“3 4 5 6”{对于(i=1;iWell),它允许您根据字段的宽度设置字段(参见而不是a。我如何才能知道字段的宽度。?澄清:变量
FIELDWIDTHS
是特定于GNU
awk
的非标准扩展。