gpt4 book ai didi

linux - awk 仅在 uniq 列中打印行数

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:33:43 25 4
gpt4 key购买 nike

我有这样的数据集:

1 A
1 B
1 C
2 A
2 B
2 C
3 B
3 C

我有一个计算我的脚本:

  1. 搜索字符串出现的次数

  2. 行数

    awk -v search="A" \
    'BEGIN{count=0} $2 == search {count++} END{print count "\n" NR}' input

这很好用。

我想在我的 awk 中添加第一列中唯一行的行数。

所以输出应该用\n分隔:

2
8
3

我可以在单独的 awk 代码中执行此操作,但我无法将它集成到我原来的 awk 代码中。

awk '{a[$1]++}END{for(i in a){print i}}' input  | wc -l 

知道如何在没有管道的情况下将它集成到一个 awk 解决方案中吗?

最佳答案

看起来你想要这个:

awk -v search="A" '{a[$1]++} 
$2 == search {count++}
END{OFS="\n";print count+0, NR, length(a)}' file

关于linux - awk 仅在 uniq 列中打印行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45352731/

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