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