有这么一个文件 # cat pay.txt 得到以下内容:
in Bill
out Helen
in Helen
in Lisa
out Bill
in Helen
in Lisa
out Bill
out Lisa
in Bill
out Helen
in Helen
in Lisa
out Bill
in Helen
...
..
想要用Shell统计出每个人名的in、out和总共出现的次数,采用多列显示,类似这样:
in out total
Bill 2 3 5
Helen 4 2 6
Lisa 3 1 4
awk 'BEGIN{print "in out total"}{a=$2;if(index(a,$2)){sum[$2]++;a=$2;if($1=="in"){sumin[$2]++};if($1=="out"){sumout[$2]++}}}END{for(i in sum) print sumin[i],sumout[i],sum[i],i}'