【问题标题】:Print Sum of each column with awk用 awk 打印每列的总和
【发布时间】:2015-05-28 05:53:16
【问题描述】:

我有一个文件,其中包含由选项卡分隔的四个字段。
Field1 Field2 Field3 Field4 ,每个字段下都有一列数字。如果可能的话,我想打印每列的总和。我想从这个开始,然后输入下面的总和。

awk 'BEGIN {  
  print "Field1 Field2 Field3 Field4"
  print "---------------------------------"
}' sum1 sum2 sum3 sum4    

【问题讨论】:

    标签: bash awk


    【解决方案1】:
    $cat sum.awk
    BEGIN { FS = OFS = "\t" 
            print "Field1", "Field2", "Field3", "Field4"
            print "------", "------", "------", "------" }
    
    { sum1 += $1; sum2 += $2; sum3 += $3; sum4 += $4; }
    
    END { print sum1, sum2, sum3, sum4 }
    
    $ awk -f sum.awk sum.txt
    Field1  Field2  Field3  Field4
    ------  ------  ------  ------
    12      24      36      48
    

    【讨论】:

    • 感谢您的快速回复,我收到错误 sum1: command not found when I try that
    • 将 awk 代码放在自己的文件中并像我的示例一样运行它是最简单的。否则请务必使用单引号开始和结束 all 的 awk 代码 --- 并且中间不要有任何单引号。
    猜你喜欢
    • 1970-01-01
    • 2023-02-04
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-04
    • 2017-04-18
    • 1970-01-01
    相关资源
    最近更新 更多