如何统计nginx日志下访问量最多的IP,并做排序

 

复制代码
[root@web logs]# cat access.log  | awk -F " " '{print $1}' |sort |uniq -c |sort -rn
     79 xxx.23.132.13
      4 113.xx.1xx.111
      3 11x.136.xxx.131
      2 18x.1xx.220.xx
      1 2x6.2xx.206.xx
[root@web logs]# cat access.log  | awk -F " " '{print $1}' |sort |uniq -c |sort -rn |head -n 2
     79 xxx.23.132.13
      4 113.xx.xxx.111
[root@web logs]# cat access.log  | awk -F " " '{print $1}' |sort |uniq -c |sort -rn |head -n 2 |less
复制代码

 

 解释:uniq的一个特性,检查重复行的时候,只会检查相邻的行。重复数据,肯定有很多不是相邻在一起的;所以需要先进行排序,然后进行统计,再进行逆向排序。

参数解读:

sort:

  -r:逆序输出排序结果

  -n:根据字符串数值比较

uniq:从输入文件或者标准输入中筛选相邻的匹配行并写入到输出文件或标准输出。

  -c:在每行前加上表示相应行目出现次数的前缀编号

 

posted @   不会跳舞的胖子  阅读(555)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示