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

本文详细展示了如何使用Linux命令awk和cut从日志文件中提取192.168.1.100, 192.168.1.101, 192.168.1.102的IP地址,并进行了排序、计数和筛选操作,突出了在信息技术中处理日志数据的实用技巧。
摘要由CSDN通过智能技术生成
[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: 仅显示不曾重复的行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值