【发布时间】: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 中做到这一点吗?
非常感谢! 安娜
【问题讨论】:
我有一个这样的数据集:
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 中做到这一点吗?
非常感谢! 安娜
【问题讨论】:
在 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; } }
【讨论】: