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

 

posted @ 2022-04-04 00:38  小鲨鱼2018  阅读(786)  评论(0编辑  收藏  举报