系统相关
首页 > 系统相关> > linux 中awk命令计算每行数据的和、平均数、最大值、最小值

linux 中awk命令计算每行数据的和、平均数、最大值、最小值

作者:互联网

 

1、测试数据

root@DESKTOP-1N42TVH:/home/test2# ls
a.txt
root@DESKTOP-1N42TVH:/home/test2# cat a.txt
3 1 4 2
1 2 6 3
2 1 3 3

 

2、计算每行数据的和

root@DESKTOP-1N42TVH:/home/test2# cat a.txt
3 1 4 2
1 2 6 3
2 1 3 3
root@DESKTOP-1N42TVH:/home/test2# awk '{sum = 0; for(i = 1; i <= NF; i++) sum += $i; print sum}' a.txt   ## 计算每行数据的和
10
12
9

 

3、计算每行数据的平均数

root@DESKTOP-1N42TVH:/home/test2# cat a.txt
3 1 4 2
1 2 6 3
2 1 3 3
root@DESKTOP-1N42TVH:/home/test2# awk '{sum = 0; for(i = 1; i <= NF; i++) sum += $i; print (sum/NF)}' a.txt   ## 每行数据的平均数
2.5
3
2.25

 

4、最大值

root@DESKTOP-1N42TVH:/home/test2# cat a.txt
3 1 4 2
1 2 6 3
2 1 3 3
root@DESKTOP-1N42TVH:/home/test2# awk '{max = $1; for(i = 1; i <= NF; i++) if($i > max) {max = $i}; print max}' a.txt   ## 每行数据的最大值
4
6
3

 

5、最小值

root@DESKTOP-1N42TVH:/home/test2# cat a.txt
3 1 4 2
1 2 6 3
2 1 3 3
root@DESKTOP-1N42TVH:/home/test2# awk '{min = $1; for(i = 1; i <= NF; i++) if($i < min) {min = $i}; print min}' a.txt   ## 每行数据的最小值
1
1
1

 

标签:test2,1N42TVH,DESKTOP,最小值,awk,linux,home,txt,root
来源: https://www.cnblogs.com/liujiaxin2018/p/16098190.html