linux 中 利用awk数组求每列的和及平均值
001、求每列的和
root@PC1:/home/test2# ls a.txt root@PC1:/home/test2# cat a.txt 3 5 2 4 1 3 5 5 2 3 8 3 root@PC1:/home/test2# awk '{for(i = 1; i <= NF; i++) sum[i] += $i} END {for(i = 1; i <= NF; i++) print sum[i]}' a.txt ## 求每列的和 6 11 15 12
002、求每列的平均值
root@PC1:/home/test2# ls a.txt root@PC1:/home/test2# cat a.txt ## 测试数据 3 5 2 4 1 3 5 5 2 3 8 3 root@PC1:/home/test2# awk '{for(i = 1; i <= NF; i++) sum[i] += $i} END {for(i = 1; i <= NF; i++) print sum[i]/NR}' a.txt ## 求每列的平均值 2 3.66667 5 4