在羣裏看到網友的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