一、 有一道题目
输入的文本内容 inputfile :
a 1
b 2
b 3
c 4
c 5
c 6
d 7
d 8
d 9
d 10
处理后输出的内容:
a 1
b 5
c 15
d 34
avg 5.5
二、两行解法
cat inputfile |awk '{s[$1]+=$2}END{for (i in s){print i,s[i]}}'
cat inputfile |awk '{sum+=$2}END {print "avg " sum/NR}'
三、一行解法
awk '{s[$1] += $2}END{ for(i in s){ print i, s[i] } }{sum+=$2}END{print "avg ", sum/NR}' inputfile