利用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 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM