利用grep命令查找字符串分析log文件的一次实践
需求场景:
我需要分析一个服务器访问日志,分析百度蜘蛛这个月对求索网页面的抓取情况。
分析问题:
我的一个access.log文件大小有35M,不可能直接通过打开查看。我需要过滤掉一些没有的信息,只保留蜘蛛访问的信息行。
实践过程:
命令工具:
grep -n 'xxx' file > new file
//grep参数解释:
//grep查找命令,-n表示行数,xxx表示某字符串, file 要查找的文件
// > new file 导入到一个新的文件
1.利用grep字符串查找命令,筛选出这个月的数据。
grep -n 'Aug' access.log > Aug.log
2.继续筛选,把有百度蜘蛛标记的行找出。
grep -n 'Baiduspider' Aug.log > Aug_baiduspider.log
以上两条命令的得到的Aug_baiduspider.log数据就是我要的百度蜘蛛在这个月对我的服务器访问的日志记录。
一个从35M的信息中,直接获取了几kb我们有用的信息,排除其他行的干扰,我觉得是非常漂亮的一次应用。
结果对比图:
access.log截图:
筛选的baiduspider访问截图
像这样的命令对分析日志是非常有帮助的,大家可以举一反三,拓展更多的应用,比如,分析日志异常,筛选404,503等异常状态码的信息,及时高效的发现问题并解决之。
利用grep命令查找字符串分析log文件的一次实践的更多相关文章
- 利用lsof命令查找已经删除的文件来释放磁盘空间
测试环境一台服务器/目录空间使用率达到97%,但是通过du -sh *发现实际空间没用到那么多,初步怀疑,之前删除的文件,有运行中的进程一直占用,导致空间没有释放,如图通过du -sh *发现共实际使 ...
- 利用grep命令查找文件内容
例如查找PHP源码某个函数的具体实现 grep -rn "PHP_FUNCTION(socket_accept)" ./ext
- Linux中利用grep命令如何检索文件内容详解
前言 Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命令,同时vi命令也支持文件内容检索.下面来一起看看Linux利用grep命令检索文件内容的详细介绍. 方法 ...
- 如何使用Grep命令查找多个字符串
如何使用Grep 命令查找多个字符串 大家好,我是良许! 今天向大家介绍一个非常有用的技巧,那就是使用 grep 命令查找多个字符串. 简单介绍一下,grep 命令可以理解为是一个功能强大的命令行工具 ...
- linux(centos8):用grep命令查找文件内容
一,grep的用途: linux平台有最常用的三大文本处理工具:awk/sed/grep grep的功能:搜索指定文件的内容,按照指定的模式匹配,并输出匹配内容所在的行. 需要注意的地方:grep只支 ...
- 使用grep命令查找文件中符合”.stg.“行
某目录下有个test.txt,内容如下: www.stg.comwwstgcom 如果我这样去查找: $ grep '.stg.' test.txtwww.stg.comwwstgcom 发现第二个匹 ...
- Linux下grep命令查找带有tab(退格)的字符
需要在日志文件统计删除的主帖,而日志文件是tab(退格)字符隔开的:假设日志文件名叫delete.log. 保存格式和保存的数据如下, 删除日期 帖子类型(11为主帖,12为回帖 ...
- LINUX 下grep命令查找
当出现查找文件出现匹配到二进制文件时,大概是因为文件同时含有文本文件与二进制文件,需要加上 grep -a,就可以解决问题.
- 利用正则来查找字符串中第n个匹配字符索引
1.string.IndexOf()方法可以获得第一个匹配项的索引 2.要获取第n个匹配项的索引: 方法1:利用IndexOf方法循环获取. 方法2:用正则来查找. System.Text.Regu ...
随机推荐
- csharp:获取 DNS、网关、子网掩码、IP
/// <summary> /// DNS.网关.子网掩码.IP /// 涂聚文 2015 /// </summary> public class IPAddressStrin ...
- css+div水平居中
实现div内容水平居中 实现方案一:margin:0 auto; div{ height:100px; width:100px; background:red; margin:0 auto; } &l ...
- <VS2010>混合模式程序集是针对“v2.0”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集
在把以前写的代码生成工具从原来的.NET3.5升级到.NET4.0时,将程序集都更新后,一运行程序在一处方法调用时报出了一个异常: 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有 ...
- elixir 模式匹配
elixir 模式匹配刚接触还是有点不习惯,在Elixir里,=操作符被称为匹配操作符 iex(29)> x = 11iex(30)> x1iex(31)> 1 = x1iex(32 ...
- 网络I/O模型--07Netty基础
Netty 是由 JBOSS 提供的一个 Java 开源框架. Netty 提供异步的.事件驱动的网络应用程序框架和工具 ,用以快速开发高性能 . 高可靠性的网络服务器和客户端程序. Net ...
- APP之红点提醒三个阶段
下面这个页面就是我们进入APP后的主界面.客户选项的红点上数字就是显示我们没有查看的客户总数量. 当我们切换到客户这个fragment时,会显示贷款客户数量与保险客户数量. 当我们随便点击入一 ...
- is_palindrome 回文递归
# coding=utf-8def is_palindrome(n,start,end): if start>end: return 1 else: return is_palindrome(n ...
- linux 权限管理命令chmod、文件和目录的权限的意义
chmod /bin/chmod chmod [{ugoa}{+-=}{rwx}] [文件或目录]chmod [mode=421] [文件或目录]-R 递归修改 只有 root 和 所有者 可以修改一 ...
- hibernate的延迟加载和抓取策略
一,延迟加载 1.实体类延迟加载 通过代理机制完成,由javassist类库实现运行时代理,修改实体类的字节码实现了运行时代理 <class lazy="true|false& ...
- apache2.2+php5.3+mysql5.5+Zend Guard Loader集成包
由前一篇文章 http://www.cnblogs.com/darktime/p/3407980.html 我就配置了一个环境包,免安装的,只需要运行一个.bat的文件文件就算安装成功了 如果你需要用 ...