我有一个如下文件。
7404920998 May 18 04:22 20161229.data
8775804219 May 18 04:23 20161230.data
11168788265 May 17 22:07 20170103.data
9374414428 May 17 22:03 20170104.data
我想根据匹配字段column2(月份)和第5列(年份)的前四个字符来总结第1列。然后打印每个月和每年的阵列。
输出:
16180725217 May 2016
20543202693 May 2017
我相信我通过输入
找出如何按月和年总结awk '{if($2 == "<month>" && $5 ~ /<year>/) i+=$1} END {print i, $2, substr($5, 0, 4)}' <file>
但是如何创建一个匹配这两个条件的条件数组并打印出我想要的输出?
答案 0 :(得分:3)
awk
救援!
$ awk '{a[$2 FS substr($5,1,4)]+=$1}
END {for(k in a) print a[k],k}' file | sort -k3n -k2,2M
16180725217 May 2016
20543202693 May 2017