gpt4 book ai didi

bash - 计算每列中非空条目的数量,例如,comm 输出

转载 作者:行者123 更新时间:2023-11-29 09:36:02 25 4
gpt4 key购买 nike

Unix 命令 comm file1 file2 有 3 列输出,第一列是 file1 独有的行,第二列是 file2 独有的行,第三列是两者共享的行(假设 file1和 file2 已排序)。它最终看起来像这样:

$ echo -e "alpha\nbravo\ncharlie" > file1
$ echo -e "alpha\nbravo\ndelta" > file2
$ comm file1 file2
alpha
bravo
charlie
delta

如果我想要每列中非空行的数量,是否有一种通用的方法来解析 comm 的输出并计算这些?

我知道对于 comm 特别是我可以运行

for i in {12,23,31}; do comm -$i file1 file2 | wc -l; done

但我很好奇以 comm 输出文件为起点的解决方案,以便在 Unix 命令行上变得更好。我添加了 标记,因为我有一种预感,有一个很好的 awk 解决方案。

最佳答案

另一个答案涵盖了您使用 awk 很好地完成工作的问题,但还值得一提的是,GNU 版本的 comm 有一个 --total选项将以类似方式打印每列的总和。

关于bash - 计算每列中非空条目的数量,例如,comm 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54466073/

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