利用shell脚本统计文件中出现次数最多的IP

Posted 虾米东东

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用shell脚本统计文件中出现次数最多的IP相关的知识,希望对你有一定的参考价值。

比如有如下文件test.txt

1  134.102.173.43

2  134.102.173.43

3  134.102.171.42

4  134.102.170.9

要统计出现次数最多的IP可以利用以下shell脚本:

cat test.txt | awk ‘{print $2}‘ | sort | uniq -c | sort -n -r | head -n 1

 

[原创]统计IP次数最多的 

一条还是很常见,很实用,很简单的命令 

 

 

 netstat -ntu
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:8152 127.0.0.1:4193 TIME_WAIT
tcp 0 0 127.0.0.1:8152 127.0.0.1:4192 TIME_WAIT
tcp 0 0 127.0.0.1:8152 127.0.0.1:4196 TIME_WAIT
tcp 0 0 127.0.0.1:8152 127.0.0.1:4199 TIME_WAIT
tcp 0 0 127.0.0.1:8152 127.0.0.1:4201 TIME_WAIT
tcp 0 0 127.0.0.1:8152 127.0.0.1:4204 TIME_WAIT
tcp 0 0 127.0.0.1:8152 127.0.0.1:4207 TIME_WAIT
tcp 0 0 127.0.0.1:8152 127.0.0.1:4210 TIME_WAIT
tcp 0 0 192.168.32.62:41682 192.168.47.27:5431 TIME_WAIT
tcp 0 0 192.168.32.62:41685 192.168.47.27:5431 TIME_WAIT

netstat -ntu | tail -n +3|awk { print $5} | cut -d : -f 1 | sort | uniq -c| sort -n -r | head -n 5
8 127.0.0.1
2 192.168.47.27

 

tail -n +3 :去掉上面用红色标明的两行。

awk ‘{ print $5}‘:取数据的低5域(第5列),上面蓝色标明。

cut -d : -f 1 :取蓝色部分前面的IP部分。

sort:对IP部分进行排序。

uniq -c:打印每一重复行出现的次数。(并去掉重复行)

sort -n -r:按照重复行出现的次序倒序排列。

head -n 5:取排在前5位的IP 

以上是关于利用shell脚本统计文件中出现次数最多的IP的主要内容,如果未能解决你的问题,请参考以下文章

Linux命令经典面试题:统计文件中出现次数最多的前10个单词

Linux awk统计日志中出现过的IP(或出现次数最多的N个IP)

Linux awk统计日志中出现过的IP(或出现次数最多的N个IP)

Linux awk统计日志中出现过的IP(或出现次数最多的N个IP)

Linux awk统计日志中出现过的IP(或出现次数最多的N个IP)

JavaScript利用charAt()统计出现次数最多的字符和次数