在群里看到网友的awk面试题一例
原题:有如下数据,需要通过awk统计每个月的收入总和,按月排序
20150106|2210
20150206|2234
20150206|1234
20150305|2234
20150405|2235
20150405|235


解决思路:
1)以|为分隔符取交易时间,而且是要月份
2)根据上一步的月份进行收入汇总
3)将结果按照月份排序

解决方法:
[hadoop@localhost login]$ cat 1.txt 
20150106|2210
20150206|2234
20150206|1234
20150305|2234
20150405|2235
20150405|235
[hadoop@localhost login]$ awk -F'|' '{a[substr($1,1,6)]+=$2}END{for(i in a)print i,a[i]|"sort -nk 1"}' 1.txt      
201501 2210
201502 3468
201503 2234
201504 2470