awk之FIELDWIDTHS字段宽度

$ cat file 
1234567890
$ awk -vFIELDWIDTHS="1 2 3 4 5" -vOFS="|" 'NF=NF' file
1|23|456|7890|

[解析]
  FIELDWIDTHS 字段宽度列表(用空格键分隔)。比较冷门少见。

echo "20101018000000"|awk -vFIELDWIDTHS="4 2 2 2 2 2" 'NF=NF{print mktime($0)}'
[解析]
	设置好字段分割刚好用来取时间戳。

实例:
时间戳取24号18到22点的数据,并记录数据次数
echo '111|12|20171024202020
121|12|20171024202020
111|12|20171024181020
121|13|20171024231020' |awk -vFIELDWIDTHS="3 12 2 4" '$3>=18&&$3<=22{a[$1]++}END{for(i in a)print i"|"a[i]}'
111|2
121|1
posted @ 2017-10-25 10:40  陈浩然201  阅读(909)  评论(0编辑  收藏  举报