次のファイルがあります。
$ more messages
Jan 2 random text
Jan 2 random text
Jan 3 random text
Jan 2 random text
Jan 3 random text
Jan 3 random text
Jan 3 random text
私はこれを使ってこれをしたいと思いますsort
。
Jan 2 : 3
Jan 3 : 4
答え1
以下を使用してcut
興味のあるキャラクターを分割できます。sort
uniq -c
$ < input cut -c1-6 |sort |uniq -c
3 Jan 2
4 Jan 3
または、awk
出力形式に関する特別な要件がある場合は、次のようにします。
$ awk '{a[substr($0, 1, 6)] += 1} END { for (x in a) printf "%s : %d\n", x, a[x] }' < x | sort
Jan 2 : 3
Jan 3 : 4
最初のブロックは連想配列を使用して各日付の発生回数を計算し、最後のENDブロックは日付とその数を印刷します。sort
それ以降の出力は、キーが配列から出る順序を保証できないためです。