微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。