小编awk*_*rob的帖子

如何分别根据其他列中的变量获取列中值的总和?

我有一个如下表数据

abc 1   1   1
bcd 2   2   4
bcd 12  23  3
cde 3   5   5
cde 3   4   5
cde 14  2   25
Run Code Online (Sandbox Code Playgroud)

我想要根据第一列中的变量计算每列中的值的总和,所需的结果如下所示:

abc 1   1   1
bcd 14  25  7
cde 20  11  35
Run Code Online (Sandbox Code Playgroud)

我像这样使用 awk 命令

awk -F"\t" '{for(n=2;n<=NF; ++n)a[$1]+=$n}END{for(i in a ) print i, a[i] }' tablefilepath
Run Code Online (Sandbox Code Playgroud)

我得到的结果如下:

abc 3
bcd 46
cde 66
Run Code Online (Sandbox Code Playgroud)

我认为我的代码结尾是错误的,但不知道如何修复它。我需要一些指示来修复代码。

awk shell-script text-processing numeric-data

5
推荐指数
1
解决办法
1472
查看次数

标签 统计

awk ×1

numeric-data ×1

shell-script ×1

text-processing ×1