有日志 1.log,部分内容如下:

112.111.12.248 – [25/Sep/2013:16:08:31 +0800]formula-x.haotui.com“/seccode.php?update=0.5593110133088248″ 200″http://formula�x.haotui.com/registerbbs.php” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1;)”61.147.76.51 – [25/Sep/2013:16:08:31 +0800]xyzdiy.5d6d.com“/attachment.php?aid=4554&k=9ce51e2c376bc861603c7689d97c04a1&t=1334564048&fid=9&sid=zgohwYoLZq2qPW233ZIRsJiUeu22XqE8f49jY9mouRSoE71″301″http://xyzdiy.5d6d.com/thread-1435-1-23.html” “Mozilla/4.0 (compatible; MSIE 6.0;Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)”
统计出每个 IP 的访问量有多少

习题分析

这种分析日志的需求,在平时工作中很常见,而且找运维工作时的笔试题里面出现频率也非常多。

根据日志内容,可以看到 IP 地址就是第一段内容,所以只需要把 1.log 的第一段给过滤出来,然后近一步统计每一个 IP 的量即可。

过滤第一段,使用 awk 就可以很容易得到,而统计每个 IP 的访问量则需要排序然后再计算数量,

排序使用 sort 命令,统计每个 IP 访问量用 uniq。

习题答案
awk '{print $1}' 1.log |sort -n |uniq -c |sort -n
答案解析
  1. awk 命令在分段方面还是比较有优势的,这里的{print $1}讲第一段打印出来,awk 可以用-F 指定分隔符,如果不指定分隔符,默认就以空白字符(比如空格、Tab 等),本题中,IP 地址就是在第一段。

  2. sort 命令是排序的命令,-n 选项表示以数字的形式排序,如果不加-n,则以 ASCII 排序,本题中的 IP 地址以数字的形式排序更容易区分。

  3. uniq 命令是用来去重复的,一个文本中如果有多行内容是一模一样的,使用 uniq 命令就可以把相同内容的行给删除掉,只留一行。而-c 选项的作用是计算重复的行数,所以在此题中使用 uniq -c 正好可以计算 IP 地址的访问数量。不过,大家一定要注意,uniq 去重的前提是首先要排序。

  4. 本题答案里最后没得 sort -n 意思是按访问量大小来排序,请求量越大的 IP 排在越后面,如果要想排在前面,可以加一个-r 选项,即 sort –nr

转载于:https://www.cnblogs.com/cheyunhua/p/11212050.html

shell统计ip访问情况并分析访问日志相关推荐

  1. linux 访客日志ip,shell统计ip访问情况,要求分析访问日志分析。

    [题目要求] 有日志 1.log,部分内容如下: 112.111.12.248 – [25/Sep/2013:16:08:31 +0800]formula-x.haotui.com "/se ...

  2. 使用百度统计功能快速统计网站的访问情况

    在网站建设完成后,很多人都希望统计到网站的访问情况,如访问了哪个页面.页面停留时间.访问者的IP地址以及访问设备.访问者所在的省份区域.访问来源等诸多信息,要实现这种功能可以自行编写代码,从http请 ...

  3. linux 查询ip归属地的工具,Linux 通过shell查询ip归属地(curl请求转码)

    root@kickseed:~# ping www.baidu.com                                                   #用百度进行测试获取百度IP ...

  4. 服务器网站访问日志分析,服务器日志分析与流量统计_直观快捷分析每个网站的日志...

    本帖最后由 软程科技 于 2019-9-9 19:13 编辑 应用名称:日志分析与流量统计 价格:1元 作者:软程科技 版本: 2.1.9 提示(使用前必读): 1. 此插件未在超大(超过1G)的日志 ...

  5. Python基于nginx访问日志并统计IP访问量

    如果想看看Nginx有多少IP访问量,有哪些国家访问,并显示IP地址的归属地分布,python可以结合使用高春辉老师ipip.net[免费版 IP 地址数据库],Shell可以使用nali,我这边主要 ...

  6. shell最大出现和连续出现次数_shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)...

    当服务器压力比较大,跑起来很费力时候.我们经常做站点页面优化,会去查找那些页面访问次数比较多,而且比较费时. 找到那些访问次数高,并且比较耗时的地址,就行相关优化,会取得立竿见影的效果的. 下面是我在 ...

  7. linux 访问日志ip排序,Linux通过日志文件统计IP访问次数排序

    假设我的日志文件内容如下: 218.92.217.53 - - [22/Nov/2017:17:26:27 +0800] "GET /images/rand HTTP/1.0" 2 ...

  8. php nginx日志分析,如何通过NGINX的log日志来分析网站的访问情况,试试这些命令...

    想知道你的网站每天的访问情况吗?有多少人访问了?访问最多的页面是哪个?哪个时段访问的人最多?哪个地方访问的最多?每秒有多少请求?很好奇吧,只要你是使用了nginx进行请求抓发,那么就试试下面的命令吧, ...

  9. shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)

    当服务器压力比较大,跑起来很费力时候.我们经常做站点页面优化,会去查找那些页面访问次数比较多,而且比较费时. 找到那些访问次数高,并且比较耗时的地址,就行相关优化,会取得立竿见影的效果的. 下面是我在 ...

最新文章

  1. python xpath用法_Python--xpath的使用
  2. leetcode算法题--Lemonade Change
  3. c++常见操作的模板
  4. 初步了解Linux创建文件系统命令
  5. 深入出不来nodejs源码-V8引擎初探
  6. 轻松自动化---selenium-webdriver(python) (九)
  7. java方法参数类型不确定_一个Java方法能有多少个参数类型?这个好奇coder做了个实验...
  8. 高频Linux命令小结(新手向)
  9. 做微信营销你知道男女用微信的习惯吗?
  10. 如何格式化电脑_电脑硬盘不小心格式化如何恢复【恢复方法】
  11. 设计模式(6)——命令模式
  12. idea中 Application Server not specified
  13. Word转换PDF:pdf虚拟打印机怎么用操作技巧详解
  14. Matlab画图和点标记
  15. 实战教你刷显卡BIOS
  16. astah——UML类图画法
  17. [边缘检测算法] Sobel算子及其PC端优化提速20几倍
  18. 【巷子】---fetch---基本使用
  19. day1-python猜单词游戏
  20. 学术英语视听说2听力原文_大学英语新世纪视听说第二册听力原文及答案免费...

热门文章

  1. Silverlight2 边学边练 之五 视频
  2. codevs 5963 [SDOI2017]树点染色
  3. 2010-08-22 动漫店 员工卡缓存出现问题。
  4. 数据恢复knowledge
  5. C#判断文件及文件夹是否存在并创建
  6. 20181110-软件开发架构2
  7. 饮冰三年-人工智能-linux-07 硬盘分区、格式化及文件系统的管理
  8. css修改select下拉列表的默认样式
  9. Apache 'mod_accounting'模块SQL注入漏洞(CVE-2013-5697)
  10. hdu 2154 跳舞毯 (DP)