gpt4 book ai didi

linux :counting the occurence of 1's in each column

转载 作者:太空宇宙 更新时间:2023-11-04 06:04:59 24 4
gpt4 key购买 nike

Linux:计算每列中 1 的出现次数

我有一个包含以下内容的文件

 0       0       1       0       0

0 0 1 1 1

0 1 1 1 0

1 0 1 0 0

现在,我想计算每列中的1,并需要将其连同列号一起写入文件中。

所以我期望的是,

 1        1

2 1

3 4

4 2

5 1

其中第一列代表列位置(给定示例中从 1 到 5)

第二列是1各自列的计数

我的输出要求发生变化:

5 1

4 1

3 4

2 2

1 1

需要以相反的顺序打印列号(5 insread od 1 等)

最佳答案

awk 是更好的工具:

awk 'NF>0{for (i=1; i<=NF; i++) if($i==1) a[NR]++;} 
END{for(i=1; i<=length(a); i++) print i, a[i]}' file

编辑 1:要计算每列中的 1:

awk 'NF>0{for (i=1; i<=NF; i++) if($i==1) a[i]++;}
END{for(i=1; i<=length(a); i++) print i, a[i]}' file

编辑2:要计算每列中的1,以相反的顺序打印:

awk 'NF>0{for (i=1; i<=NF; i++) if($i==1) a[i]++;}
END{for(i=length(a); i>=1; i--) print i, a[i]}' file

关于linux :counting the occurence of 1's in each column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17359714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com