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 #輸入格式化多列顯示、把輸入到屏幕的內容顯示的更整齊。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM