私は使用しています
grep -o string file | wc -l
単語数を取得しますが、形式のファイルがあります
help
help
help
how
how
luke
mark
そして、返されるコマンドがあるかどうか疑問に思っていました: 3,2,1,1
前のコマンドを複数回実行する代わりに
使用できます
sort input.txt | uniq -c
どちらが出力されますか
3 help
2 how
1 luke
1 mark
そこから出力の処理を続行できます。同じエントリが連続した行のブロックにあることがすでにわかっている場合は、もちろんスキップして直接sort
使用することもできますuniq
。これにより、順序も保持されます。
単一プロセスの awk 方法
awk '{a[$0]++}END{for(x in a)print x" : "a[x]}' file
kent$ echo "help
help
help
how
how
luke
mark"|awk '{a[$0]++}END{for(x in a)print x" : "a[x]}'
luke : 1
help : 3
how : 2
mark : 1