簡體   English   中英

awk僅在uniq列中打印行數

[英]awk print number of row only in uniq column

我有這樣的數據集:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM