linux中文本文件中IP的“按计数分组”

che*_*vim 5 linux text analysis

我有一个巨大的文本文件,其中包含 IP 地址:

123.33.22.33
221.23.128.2
123.33.22.33
92.222.192.12
92.222.192.12
123.33.22.33
Run Code Online (Sandbox Code Playgroud)

我可以将其排序为:

123.33.22.33
123.33.22.33
123.33.22.33
221.23.128.2
92.222.192.12
92.222.192.12
Run Code Online (Sandbox Code Playgroud)

并看到(用肉眼)第一个 IP 出现 3 次,第二次出现一次,最后一次出现两次。

我希望能够在巨大的日志文件中做到这一点,显然是以自动化的方式。是否可以?

谢谢

use*_*419 9

cat file_with_ips | sort -nr | uniq -c | sort -nr -k 1
Run Code Online (Sandbox Code Playgroud)

将按 ip 计数对 desc 进行排序,显示第一列上的计数器

例如

root@pinkpony:~# cat /tmp/xx
123.33.22.33
221.23.128.2
123.33.22.33
92.222.192.12
92.222.192.12
123.33.22.33
root@pinkpony:~# cat /tmp/xx | sort -nr | uniq -c | sort -nr -k1
      3 123.33.22.33
      2 92.222.192.12
      1 221.23.128.2
root@pinkpony:~# 
Run Code Online (Sandbox Code Playgroud)