代码之家  ›  专栏  ›  技术社区  ›  Aravinth Kalai

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

  •  1
  • Aravinth Kalai  · 技术社区  · 2 年前

    我有一笔钱。csv文件我想将第1列内容和第2列内容相加,并将结果保存到第3列,假设输入为

    1,2
    3,4
    5,6
    

    所需输出为

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

    我正在使用awk命令

    awk -F "," '{$3=$1+$2}{print $3}'>>"sum.csv" sum.csv
    

    它将在我的总和中产生输出。csv文件作为

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

    但我想:

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

    我怎样才能得到输出请指导我,它也应该保存在同一个文件。

    1 回复  |  直到 2 年前
        1
  •  0
  •   Thor    2 年前

    你可以用

    awk -F, '{print $0 OFS $1+$2}' OFS=, file > newfile
    awk 'BEGIN{FS=OFS=","} {print $0 OFS $1+$2}' file > newfile
    awk -F, '$0=$0FS$1+$2' file > newfile
    

    看见 an online demo .

    具有 -F, / OFS=, (或 BEGIN{FS=OFS=","} )将输入和输出字段分隔符设置为逗号,并使用 print $0 OFS $1+$2 输出该行加上逗号和两个字段值之和。

    推荐文章