利用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截图:access.log

筛选的baiduspider访问截图baiduspider

像这样的命令对分析日志是非常有帮助的,大家可以举一反三,拓展更多的应用,比如,分析日志异常,筛选404,503等异常状态码的信息,及时高效的发现问题并解决之。

posted @ 2018-01-25 00:07  牧之丨  阅读(3893)  评论(0编辑  收藏  举报