AWK中的FIELDWIDTHS是一个很好用的变量,这个变量可以指定字符串按照怎么样的宽度进行展示
实例一:
要求:
032130
032131
146230
035048
222049
095070
095261
155052
142050
替换成为IP地址:
32.130
32.131
146.230
35.48
222.49
95.70
155.52
142.50
48.40
解决办法:
awk -vFIELDWIDTHS="3 3" '{print (+$1)"."(+$2)}' FILE
如果字符串想要转换为数字的话,直接可以和0相加,那么最后的结果就是我们想要的。
实例二:
$ cat file 1234567890
$ awk -vFIELDWIDTHS="1 2 3 4 5" 'BIGIN{OFS="|"}NF=NF' file
1|23|456|7890|
[解析] FIELDWIDTHS 字段宽度列表(默认用空格键分隔)。比较冷门少见。