我有一个格式如下的文件
id_1,1,0,2,3,lable1
id_2,3,2,2,1,lable1
id_3,5,1,7,6,lable1
我想要每一列的总和(我有超过 300 列)
9,3,11,10,lable1
我怎样才能使用 bash 做到这一点。 我尝试使用描述的 here但没有用。
最佳答案
使用awk
:
$ awk -F, '{for (i=2;i<NF;i++)a[i]+=$i}END{for (i=2;i<NF;i++) printf a[i]",";print $NF}' file
9,3,11,10,lable1
这将打印逗号分隔文件中每列(从 i=2 .. i=n-1) 的总和,紧随最后一行的最后一列的值 (即 lable1)。
关于bash - 如何使用 bash 对文件中的每一列求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14956264/