shell - 如何使用awk获取数据框所有值的总和

标签 shell awk

假设我有一个数据框,如:

A,B,C,D
2,1,1,1
2,3,1,4

我想获得数据帧的总和,这意味着只是一个总值作为输出。
所以对于给定的例子,输出应该是 15
我试过这个,但它给出了每列的总和:
awk -F"," 'BEGIN {sum=0; OFS=","} {for (i=1; i<=NF; i++) a[i]+=$i } END {for (i in a) print a[i]}' file

最佳答案

你可以试试下面的。

awk 'BEGIN{FS=","} FNR>1{for(i=1;i<=NF;i++){sum+=$i}} END{print sum}'  Input_file

什么在 OP 的方法中不起作用: OP 的逻辑是正确的,但我们不想在这里使用数组,我们需要一个简单的变量,其中包含所有 sum 然后在 END我们需要打印的代码块。

关于shell - 如何使用awk获取数据框所有值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61638371/

相关文章:

perl - 从包含日期的文件中排序并提取一定数量的行

linux - linux 中命令的日期

linux - 如何在 zshell 中以关键字拆分字符串并保存结果?

linux - 根据第一个字段对内容进行排序并将第二个字段输出到新文件中

regex - 将每行的空格替换为该行的第一个字符

bash - 在 awk 中使用记录分隔符

linux - 使用shell脚本一个接一个地卸载软件

linux - shell 脚本 : ftp to check existing file

linux - 如何使用 sed、awk 只打印特定单词的路径?

linux - 如何替换括号之间的换行符