【问题标题】:Count the occurences of a number in all the columns in bash计算bash中所有列中数字的出现次数
【发布时间】:2020-03-26 16:32:20
【问题描述】:

我有一个这样的数据集:

1 3 3 4 5 2 3 3
2 2 2 1 2 2 2 2 
1 3 3 3 3 3 3 3
1 4 4 4 4 4 4 3

我想计算每列出现数字“一”的次数,所以我希望输出如下:

3 0 0 1 0 0 0 0

有人知道如何在 bash 中做到这一点吗?

非常感谢! 安娜

【问题讨论】:

    标签: bash counting


    【解决方案1】:

    在 awk 中执行。遍历字段数,如果字段等于 1,则增加数组。然后在最后打印数组。

    awk '{ for (i = 1; i <= NF; ++i) { if($i == 1) { ++c[i]; } } 
      END{ for (i = 1; i <= NF; ++i) { printf "%d%s", c[i], i!=NF ? OFS : ORS; } }
    

    【讨论】:

    • 不错的解决方案,但是您忘记了第一行末尾的花括号并关闭了引号。
    猜你喜欢
    • 1970-01-01
    • 2021-09-07
    • 2015-12-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多