上周郝阳来上海,我和他又聊了下cygwin的shell语句,发现上次对shell的介绍过于基础,详情请见(巧用Cygwin处理海量日志文件)
用这篇博文详细的介绍下语法的用法。
一个标准的日志文件中有以下一些属性:
(1)日期(date)
(2)时间(time)
(3)客户端IP地址(c-ip)
(4)用户名(cs-username)
(5)方法(cs-method)
(6)URI资源(cs-uri-stem)
(7)URI查询(cs-uri-query)
(8)协议状态(sc-status)
(9)发送的字节数(sc-bytes)
(10)协议版本(cs-version)
(11)用户代理(csUser-Agent)
(12)引用站点(csReferer)
现在seo越来越受到企业的重视,通常情况下也会将关键字字段添加到日志文件中,方便技术人员更好的获取信息加以分析。
下面来介绍一下常用的语句,方便大家日常工作.P.S.linux是区分大小写的,操作时注意大小写。
awk'{print$11}'filename.log|sort>keywords.log提取并输出filename中第12个字段的信息排序并保存到keywords.log中。
grep'Baiduspider'filename.log>baiduspider.log提取百度相关数据。
awk'($9~/200/)'baiduspider.log|awk'{print$9,$7}'|sort>baidu-200.log提取百度蛛蛛访问产生的所有状态码和数量,并按降序排列。
grep'200'baiduspider.log|awk'{print$7}'|sort|uniq-c|sort-nr|head-n1000>baidu200.log提取百度蛛蛛访问产生的200状态码的URL去重并计数,倒叙排列,并显示前1000条并输出到baidu200.log文件中。
一般的日志拆分都可以按照这样的语句执行.如果想要分其他纬度分析,可以替换字段再执行语句,这样可以生成各种纬度的拆分日志,增加工作的效率。
用这篇博文详细的介绍下语法的用法。
一个标准的日志文件中有以下一些属性:
(1)日期(date)
(2)时间(time)
(3)客户端IP地址(c-ip)
(4)用户名(cs-username)
(5)方法(cs-method)
(6)URI资源(cs-uri-stem)
(7)URI查询(cs-uri-query)
(8)协议状态(sc-status)
(9)发送的字节数(sc-bytes)
(10)协议版本(cs-version)
(11)用户代理(csUser-Agent)
(12)引用站点(csReferer)
现在seo越来越受到企业的重视,通常情况下也会将关键字字段添加到日志文件中,方便技术人员更好的获取信息加以分析。
下面来介绍一下常用的语句,方便大家日常工作.P.S.linux是区分大小写的,操作时注意大小写。
awk'{print$11}'filename.log|sort>keywords.log提取并输出filename中第12个字段的信息排序并保存到keywords.log中。
grep'Baiduspider'filename.log>baiduspider.log提取百度相关数据。
awk'($9~/200/)'baiduspider.log|awk'{print$9,$7}'|sort>baidu-200.log提取百度蛛蛛访问产生的所有状态码和数量,并按降序排列。
grep'200'baiduspider.log|awk'{print$7}'|sort|uniq-c|sort-nr|head-n1000>baidu200.log提取百度蛛蛛访问产生的200状态码的URL去重并计数,倒叙排列,并显示前1000条并输出到baidu200.log文件中。
一般的日志拆分都可以按照这样的语句执行.如果想要分其他纬度分析,可以替换字段再执行语句,这样可以生成各种纬度的拆分日志,增加工作的效率。