Sort
如何對文件中每個日期的行數進行排序?
我有一個這樣的文件:
$ 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
您可以使用
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
之後的輸出,因為無法保證鍵從數組中出來的順序。