bash - 如何使用 bash 对文件中的每一列求和

标签 bash shell awk

我有一个格式如下的文件

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/

相关文章:

php - 同时执行多个PHP脚本

python - Bash别名自动检测任意命名的文件序列?

shell - awk 语法错误 : awk: line 29: syntax error at or near :

bash - 如何检查 bash 中接受的多个选项之一?

python - 通过 Pythons 子进程使用换行符和 Linux 邮件命令发送邮件

linux - 如何使用 grep 和 wc 的组合打印文件中最长的单词

c++ - 反转数据顺序

python - 使用 subprocess.call 从 Python 中调用 awk 时出现问题

bash - 如何使用sed从文本文件中删除第一个和最后两个字符?

linux - 远程到本地滚动备份脚本