awk 中 fieldwidths使用方法

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 字段宽度列表(默认用空格键分隔)。比较冷门少见。 

原文地址:https://www.cnblogs.com/AlwaysWIN/p/6124464.html