FIELDWIDTHS变量

FIELDWIDTHS变量

Content #

FIELDWIDTHS变量可以不通过字段分隔符读取记录。有些应用程序并没有使用字段分隔符,而是将数据放置在记录中的特定列。在这种情况下,必须设定 FIELDWIDTHS变量来匹配数据在记录中的位置。

一旦设置了FIELDWIDTHS变量,gawk就会忽略FS变量,并根据提供的字段宽度来计算字段。下面这个例子采用的是字段宽度而非字段分隔符: $ cat data1b 1005.3247596.37 115-2.349194.00 05810.1298100.1 $ gawk ‘BEGIN{FIELDWIDTHS=“3 5 2 5”}{print $1,$2,$3,$4}’ data1b 100 5.324 75 96.37 115 -2.34 91 94.00 058 10.12 98 100.1 $ FIELDWIDTHS变量定义了4个数据字段,gawk依此解析记录。每个记录中的数字串会根据已定义好的字段宽度来分割。

警告:一定要记住,一旦设定了FIELDWIDTHS变量的值,就不能再改动了。这种方法并不适用于变长的数据字段。

From #

Linux命令行与shell脚本编程大全