一、统计Nginx日志中访问量最多的IP
cat access.log |awk '{print $1}'|sort|uniq -c|sort -r
(1)先看下Nginx日志内容格式
我这个是默认日志格式,可以看到访问IP在第一列
[root@localhost logs]# head -n 1 access.log 192.168.5.2 - - [04/Nov/2021:09:02:11 +0800] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36"
(2)统计结果
[root@localhost logs]# cat access.log |awk '{print $1}'|sort|uniq -c|sort -r 81700 192.168.5.2 3 127.0.0.1
awk 默认以空格分隔,所以直接打印第一列。接着进行sort排序,再使用uniq检查重复出现的行,加上-c统计重复出现的行的次数,在列旁边显示。最后因为是要从大到小排序,所以使用sort -r进行倒序