使用shell拆分/统计日志命令


前言
为何要日志分析日比哥说了:“首先要知道数据做什么用,怎么用,分析的意义在哪里!但是本身这个只是指导你工作决策的,不能太执迷! 我看很多人把大量时间都在折腾蜘蛛去了,也是不正确的方法!自己一定要搞清目的 ..

夜息说了:“日志分析关注的点要了解,要了解哪些维度,如何分析

希望在看的同学跟着操作。用到工具:shell处理数据系列】-安装cygwin

正文
这里我就整理了下,本人经常拆份的一些项。Shell在Cygwin里跑的一些常用命令符语句,我用的是Windows下Cygwin……大牛的就跳过吧。0.0
【新手哈 有哪错的 望指点 学习,】
现在把罗列下这些项:
//统计不重复抓取数量
//统计所有状态码数量
//统计某个目录抓取次数
//统计各个目录出现404响应码次数
//统计404页面的抓取数量
//统计每个ip下对应URL的抓取次数
//提取百度蜘蛛访问数量前10的网站目录及访问次数,并按降序排列
//提取某个目录百度蛛蛛访问次数
//统计首页抓取的次数占总体抓取次数比率
//统计404响应码占总响应码比率
//计算百度抓取总时间与总抓取次数
//计算百度抓取总字节数
//计算平均每次每个网页抓取字节数(小数点后面大于5进1)
对于不懂的命令符,大家还是多百度,多问 因为我底下这些都是这样过来的,欢迎评论提问,吐槽。。。指正。。。
下面我们就进入演示。。。。请大家盯紧了。。

这是我日志截图:

//统计不重复抓取数量
  1. cat baidu.log | awk {print $4} |sort|uniq|wc -l

复制代码

//统计所有状态码数量
  1. awk {print $10} baidu.log |sort|uniq -c

复制代码

//统计某个目录抓取次数
  1. grep /shop baidu.log | awk {print $4} |sort |wc –l

复制代码

//统计各个目录出现404响应码次数
//统计404页面的抓取数量
  1. awk {if($10== 404 ){print $0}} baidu.log|sort|uniq|wc -l

复制代码

//统计每个ip下对应URL的抓取次数
  1. awk {print $6,$4} baidu.log |sort|uniq –c

复制代码

//提取百度蜘蛛访问数量前10的网站目录及访问次数,并按降序排列
  1. awk {print $4} baidu.log |grep -P [^/(a-zA-Z)|^/(a-zA-Z)/] |awk -F / {print $2} |sort|uniq -c|sort –r|head -10

复制代码

//提取某个目录百度蛛蛛访问次数
  1. cat baidu.log | grep “/shop/”| wc –l
  2. cat baidu.log |awk ‘{print $4}’ |grep “/shop/” |wc –l
  3. cat baidu.log |awk ‘{print $4} |awk –F”/” ‘{print $2}’|grep “shop”|wc -l

复制代码

 
//统计首页抓取的次数占总体抓取次数比率

  1. cat baidu.log |awk {print $4} |awk {if($0== / ){n=n+1}}END{print n/NR*100 % }

复制代码

 
//统计404响应码占总响应码比率
  1. cat baidu.log |awk {print $10} |awk {if($0== 404 ){n=n+1}}END{print n/NR*100 % }

复制代码

//计算百度抓取总时间与总抓取次数
  1. cat baidu.log|awk {FS= } {print $2} |awk -F : {print $2} | sort |uniq -c|awk BEGIN{print 小时 , 次数 } {print $2,$1} |awk {for(n=0;n<5;n++){b=$2}} {a+=b} {print $0}END{print 总数 b,a}’

复制代码

//计算百度抓取总字节数
  1. cat baidu.log |awk {print $11} |awk BEGIN{total=0}{total+=$1}END{print total}

复制代码

//计算平均每次每个网页抓取字节数(小数点后面大于5进1)
看完了,没错,就是到这边,你没看错,你很认真 .