
bashを使用すると、リストからアイテム数を取得できますか?
a
b
a
cccc
b
a
希望の出力は次のようになります。
a 3
b 2
cccc 1
答え1
一般的なアプローチは、次sort | uniq -c
を使用することです。
3 a
2 b
1 cccc
実際に行の末尾に数字を入力する必要がある場合は、sed
この問題を解決することができます。
答え2
あなたはそれを使用することができますawk
:
awk '{
arr[$0]+=1
}
END{
for (item in arr){
print(item, arr[item])
}
}' inputfile
arr
キーが行全体($0
)であり、値がキーが表示される回数である連想配列。最後に、配列全体を繰り返し、すべてのキーとその値を印刷します。