如何使用 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
使用 -F,
/OFS=,
(或 BEGIN{FS=OFS=","}
)将输入和输出字段分隔符设置为逗号,使用 print [=14=] OFS +
输出行加上逗号和两个字段值的总和。
我有一个 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
使用 -F,
/OFS=,
(或 BEGIN{FS=OFS=","}
)将输入和输出字段分隔符设置为逗号,使用 print [=14=] OFS +
输出行加上逗号和两个字段值的总和。