累加所有行的每一列数值

最近的一个计算案例,类似如下

1 4 7 ...
2 5 8
3 6 9 

需要计算出每一列的累加值

6 15 24 ...

巧妙的方法:

awk '{for(i=1;i<=NF;i++)$i=(a[i]+=$i)}END{print}' file

解释:

  • {for (i=1;i<=NF;i++) 表示数值字段从1 到 最后一列

  • $i=(a[i]+=$i) 表示将每列叠加

  • END{print} 最后打印

参考

Last updated