栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Linux 取访问前十的ip地址 head -10 日志分析

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux 取访问前十的ip地址 head -10 日志分析

[root@vm_dsj_20150527a logs]# cat test_err.log
/Get http://192.168.1.100/auth
/Get http://192.168.1.101/auth
/Get http://192.168.1.101/auth
/Get http://192.168.1.100/auth
/Get http://192.168.1.100/auth
/Get http://192.168.1.102/auth
/Get http://192.168.1.101/auth
/Get http://192.168.1.100/auth
/Get http://192.168.1.102/auth

截取ip地址:
方法一:

[root@vm_dsj_20150527a logs]# awk -F '/' '{print $4}' test_err.log
192.168.1.100
192.168.1.101
192.168.1.101
192.168.1.100
192.168.1.100
192.168.1.102
192.168.1.101
192.168.1.100
192.168.1.102

方法二:

[root@vm_dsj_20150527a logs]# cut -d '/' -f 4  test_err.log
192.168.1.100
192.168.1.101
192.168.1.101
192.168.1.100
192.168.1.100
192.168.1.102
192.168.1.101
192.168.1.100
192.168.1.102
[root@vm_dsj_20150527a logs]# cut -d '/' -f 4 test_err.log | sort
192.168.1.100
192.168.1.100
192.168.1.100
192.168.1.100
192.168.1.101
192.168.1.101
192.168.1.101
192.168.1.102
192.168.1.102
[root@vm_dsj_20150527a logs]# cut -d '/' -f 4 test_err.log | sort |uniq -c #对IP地址排序sort并展示重复的次数uniq -c
      4 192.168.1.100
      3 192.168.1.101
      2 192.168.1.102
[root@vm_dsj_20150527a logs]# cut -d '/' -f 4 test_err.log | sort |uniq -c | sort -k 1 -n -r
      4 192.168.1.100
      3 192.168.1.101
      2 192.168.1.102
[root@vm_dsj_20150527a logs]# cut -d '/' -f 4 test_err.log | sort |uniq -c | sort -k 1 -n -r | head -2   #取前两个ip地址
      4 192.168.1.100
      3 192.168.1.101
[root@vm_dsj_20150527a logs]# cut -d '/' -f 4 test_err.log | sort |uniq -c | sort -k 1 -n -r | head -10  #取前10个ip地址
      4 192.168.1.100
      3 192.168.1.101
      2 192.168.1.102
[root@vm_dsj_20150527a logs]# cut -d '/' -f 4 test_err.log | sort |uniq -c | sort -k 1 -n -r | awk '{if ($1>3) print $0}'  #取出现次数超过3次的ip地址
      4 192.168.1.100
[root@vm_dsj_20150527a logs]# cut -d '/' -f 4 test_err.log | sort |uniq -c | sort -k 1 -n -r | awk '{if ($1>2) print $0}'  #取出现次数超过2次的ip地址
      4 192.168.1.100
      3 192.168.1.101

命令说明:

  • cut

This is a test line.
-d 字符:指定分隔符
-f#: 指定要显示字段

  • sort

按字符进行比较
sort [option] file…
-f: 忽略字符大小写;-n: 比较数值大小;
-t: 指定分隔符
-k: 指定分隔后进行比较字段
-u: 重复的行,只显示一次;

  • uniq

移除重复的行
-c:显示每行重复的次数
-d:仅显示重复过的行
-u: 仅显示不曾重复的行

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1021626.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号