需求场景:

我需要分析一个服务器访问日志,分析百度蜘蛛这个月对求索网页面的抓取情况。

分析问题:

我的一个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文件的一次实践的更多相关文章

  1. 利用lsof命令查找已经删除的文件来释放磁盘空间

    测试环境一台服务器/目录空间使用率达到97%,但是通过du -sh *发现实际空间没用到那么多,初步怀疑,之前删除的文件,有运行中的进程一直占用,导致空间没有释放,如图通过du -sh *发现共实际使 ...

  2. 利用grep命令查找文件内容

    例如查找PHP源码某个函数的具体实现 grep -rn "PHP_FUNCTION(socket_accept)" ./ext

  3. Linux中利用grep命令如何检索文件内容详解

    前言 Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命令,同时vi命令也支持文件内容检索.下面来一起看看Linux利用grep命令检索文件内容的详细介绍. 方法 ...

  4. 如何使用Grep命令查找多个字符串

    如何使用Grep 命令查找多个字符串 大家好,我是良许! 今天向大家介绍一个非常有用的技巧,那就是使用 grep 命令查找多个字符串. 简单介绍一下,grep 命令可以理解为是一个功能强大的命令行工具 ...

  5. linux(centos8):用grep命令查找文件内容

    一,grep的用途: linux平台有最常用的三大文本处理工具:awk/sed/grep grep的功能:搜索指定文件的内容,按照指定的模式匹配,并输出匹配内容所在的行. 需要注意的地方:grep只支 ...

  6. 使用grep命令查找文件中符合”.stg.“行

    某目录下有个test.txt,内容如下: www.stg.comwwstgcom 如果我这样去查找: $ grep '.stg.' test.txtwww.stg.comwwstgcom 发现第二个匹 ...

  7. Linux下grep命令查找带有tab(退格)的字符

    需要在日志文件统计删除的主帖,而日志文件是tab(退格)字符隔开的:假设日志文件名叫delete.log. 保存格式和保存的数据如下, 删除日期            帖子类型(11为主帖,12为回帖 ...

  8. LINUX 下grep命令查找

    当出现查找文件出现匹配到二进制文件时,大概是因为文件同时含有文本文件与二进制文件,需要加上 grep -a,就可以解决问题.

  9. 利用正则来查找字符串中第n个匹配字符索引

    1.string.IndexOf()方法可以获得第一个匹配项的索引 2.要获取第n个匹配项的索引:  方法1:利用IndexOf方法循环获取. 方法2:用正则来查找. System.Text.Regu ...

随机推荐

  1. Java虚拟机 - 符号引用和直接引用理解

    java -- JVM的符号引用和直接引用 https://www.zhihu.com/question/50258991 在JVM中类加载过程中,在解析阶段,Java虚拟机会把类的二级制数据中的符号 ...

  2. JSP学习笔记(3)-JSP内置对象

    有些对象不用声明就可以在JSP页面的Java程序片和表达式部分使用,这些对象就是JSP的内置对象.  JSP常用的内置对象有request,response,session,application,o ...

  3. 数组原型方法调用及函数apply调用时 类数组参数在IE8下的问题

    当函数以 apply 方式调用时, 传参方式是一个由各个参数组成的数组或类数组(一个有length属性的对象),传入参数个数取决于 length 的值,例如,某个对象 args.length=3; a ...

  4. Spring Boot—07应用application.properties中的配置

    方法1 @Value("${test.msg}") private String msg; 方法2 @Autowired private Environment env; Stri ...

  5. Android MVP Plugin,一键完成MVP结构代码编写

    推荐一个Gradle的学习系列,Gradle相关的知识一直很匮乏,难得发现一个不错的系列: http://www.cnblogs.com/davenkin/p/gradle-learning-1.ht ...

  6. Pig UDF 用户自定义函数

    注册UDF do.pig的内容如下: register /xx/yy.jar data = load 'data'; result = foreach data generate aa.bb.Uppe ...

  7. Android组件系列----Activity的生命周期

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...

  8. 关于easyUI的一些js方法

    1. $("#dg").datagrid("load",{ "userName":$("#s_userName").va ...

  9. [翻译] UPCardsCarousel

    UPCardsCarousel UPCardsCarousel is a carousel with a cards based UI for iOS. UPCardsCarousel是一个旋转木马效 ...

  10. swift版的GCD封装

    swift版的GCD封装 说明 本人针对swift封装了GCD,包括GCDQueue,GCDGroup,GCDTimer以及GCDSemaphore,使用较为便利. 源码 https://github ...