我有一个包含以下行的文件:
May 25 05:34:16 192.0.2.2
May 25 05:34:16 192.0.2.1
May 25 05:34:16 192.0.1.5
May 25 05:38:16 192.0.2.2
现在我想获取IP的出现次数,并按出现次数最多列出它们,并列出它们出现的频率,就像这样:
2 May 25 05:34:16 192.0.2.2
1 May 25 05:34:16 192.0.2.1
1 May 25 05:34:16 192.0.1.5
最好是带有awk的bash衬垫。
答案 0 :(得分:3)
使用GNU sort和GNU uniq:
sort -k4 file | uniq --count --skip-fields=3
输出:
1 May 25 05:34:16 192.0.1.5 1 May 25 05:34:16 192.0.2.1 2 May 25 05:34:16 192.0.2.2
请参阅:man uniq