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

 

 

posted @ 2022-06-20 18:02  小鲨鱼2018  阅读(223)  评论(0编辑  收藏  举报