awk命令的列求和

1.如何利用awk进行列求和运算
首先要了解并理解awk列计算格式
awk -F "[分隔符]" 'BEGIN{sum=0}{sum=sum+$[列数]}{print sum}' file

2.好啦我们理解之后呢!就可以进行操作练习了
随后我们要求出file.txt文件里第一列的总和
第一步:看一下file.txt
[root@wish-10.0.0.200-21:34:26~ ]#cat file.txt
21 12 34
22 22 22
44 66 77
11 22 88
第二步:我们现在已经确认file.txt这个文件是以空格为分隔符的、awk,默认就是以空格为分隔符
接下来就进行操作
[root@wish-10.0.0.200-21:37:49~ ]#awk 'BEGIN{sum=0}{sum=sum+$1}END{print sum}' file.txt
98

3.我们练习一下不宜空格为分隔符的文件、然后进列求和
我们模拟一个捐款记录然后进行捐款统计
[root@wish-10.0.0.200-21:37:59~ ]#cat awk.txt
Zhang Dandan 41117397 :250:100:175
Zhang Xiaoyu 390320151 :155:90:201
Meng Feixue 80042789 :250:60:50
Wu Waiwai 70271111 :250:80:75
Liu Bingbing 41117483 :250:100:175
Wang Xiaoai 3515064655 :50:95:135
Zi Gege 1983967835 :250:168:200
Li Youjiu 918391635 :175:75:300
Lao Nanhai 918391635 :250:100:175
PS:以:号为分隔符的分别为第一次捐款、第二次捐款、第三次捐款
我们要求出第一次捐款和第二次捐款的总和?
[root@wish-10.0.0.200-21:50:55~ ]#awk -F "[:]" 'BEGIN{print "第一捐款的总和","第二次捐款的总和"};{a=a+$2;b=b+$3}END{print a,b}' awk.txt |column -t
第一捐款的总和    第二次捐款的总和
1880                     868

column -t #输入格式化多列显示、把输入到屏幕的内容显示的更整齐。

posted @   老天啊  阅读(7760)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示