如何使用 Linux shell 命令对两列求和并将值保存到第三列

How to sum two columns and save the values to third column using Linux shell command

我有一个 sum.csv 文件我想对第 1 列内容和第 2 列内容求和并将结果保存到第 3 列,假设输入是

1,2
3,4
5,6

要求的输出是

1,2,3
3,4,7
5,6,11

我正在使用命令 awk

awk -F "," '{=+}{print }'>>"sum.csv" sum.csv

它将在我的 sum.csv 文件中创建输出为

1,2
3,4
5,6
3
7
11

但我想要:

1,2,3
3,4,7
5,6,11

如何获得输出请指导我,它也应该保存在同一个文件中。

您可以使用

awk -F, '{print [=10=] OFS +}' OFS=, file > newfile
awk 'BEGIN{FS=OFS=","} {print [=10=] OFS +}' file > newfile
awk -F, '[=10=]=[=10=]FS+' file > newfile

an online demo

使用 -F,/OFS=,(或 BEGIN{FS=OFS=","})将输入和输出字段分隔符设置为逗号,使用 print [=14=] OFS + 输出行加上逗号和两个字段值的总和。