linux系統中awk命令求一列值的最大值、最小值、和及平均值


 

1、最大值

[root@centos7 test]# cat a.txt 4 2 8
6 4 9
2 7 5
3 5 7 [root@centos7 test]# awk 'BEGIN{max = 0}{if($1 > max) max = $1}END{print max}' a.txt 6 [root@centos7 test]# awk 'BEGIN{max = 0}{if($2 > max) max = $2}END{print max}' a.txt 7 [root@centos7 test]# awk 'BEGIN{max = 0}{if($3 > max) max = $3}END{print max}' a.txt 9

 

2、最小值

[root@centos7 test]# cat a.txt 4 2 8
6 4 9
2 7 5
3 5 7 [root@centos7 test]# awk 'BEGIN{min = 999999999}{if($1 < min) min = $1}END{print min}' a.txt 2 [root@centos7 test]# awk 'BEGIN{min = 999999999}{if($2 < min) min = $2}END{print min}' a.txt 2 [root@centos7 test]# awk 'BEGIN{min = 999999999}{if($3 < min) min = $3}END{print min}' a.txt 5

 

3、求和

[root@centos7 test]# cat a.txt 4 2 8
6 4 9
2 7 5
3 5 7 [root@centos7 test]# awk '{sum += $1}END{print sum}' a.txt 15 [root@centos7 test]# awk '{sum += $2}END{print sum}' a.txt 18 [root@centos7 test]# awk '{sum += $3}END{print sum}' a.txt 29

 

 4、求平均值

[root@centos7 test]# cat a.txt 4 2 8
6 4 9
2 7 5
3 5 7 [root@centos7 test]# awk '{sum += $1}END{print sum/NR}' a.txt 3.75 [root@centos7 test]# awk '{sum += $2}END{print sum/NR}' a.txt 4.5 [root@centos7 test]# awk '{sum += $3}END{print sum/NR}' a.txt 7.25

 


免責聲明!

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



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