关于提取web日志中错误代码行的一个问题,求助!
有一个问题想请教一下,若各位大虾有时间麻烦指点一下,我awk和sed比较弱,所以学习大家了。
问题:
HTTP访问日志中一般大于400的代码都是错误代码,因此想通过提取错误代码所在行来进行一些分析。
假设日志名为20110425.log,首先我使用#sed -n '/[4-5][0-9][0-9]/p' 20110425.log > /tmp/test,得到了以下test文件,我截取具有典型性的来给大家看:
127.0.0.1 - - [25/Apr/2011:09:33:48 +0800] "GET /images1/flashimg/shop_flash1.gif HTTP/1.1" 304 - "http://www.123.cn/shop.do" "Mozilla/4.0 (compatible; MSIE 7.0; Windows
NT 5.1; .NET CLR 2.0.50727; InfoPath.2; Maxthon 2.0)"
127.0.0.1 - - [25/Apr/2011:09:33:48 +0800] "GET /css/img/mainLbg_m.gif HTTP/1.1" 200 92 "http://www.123.cn/shop.do" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .N
ET CLR 2.0.50727; InfoPath.2; Maxthon 2.0)"
127.0.0.1 - - [25/Apr/2011:09:33:48 +0800] "GET /images_old/shousuo.gif HTTP/1.1" 404 1021 "http://www.123.cn/shop.do" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1;
.NET CLR 2.0.50727; InfoPath.2; Maxthon 2.0)"
127.0.0.1 - - [25/Apr/2011:14:01:46 +0800] "GET /loading2.gif HTTP/1.1" 500 991 "http://www.123.cn/shop_categorylist.do?categoryId=333" "Mozilla/4.0 (compatible; MSIE 8.0
; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727)"
其实,众所周知,真正错误或正确代码是上面 绿色标记字体;而因为上面 红色标记字体 影响,导致了,我的test文件中把正确代码所在行也输出了出来。
所以,我的问题就是请教高手提供一些帮助,其实我真正想得到的是404,405,406........等等错误代码的所在行。
谢谢各位!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
awk '$8 > 400 {print $0}' urfile
问题解决,谢谢你了!
结贴···谢谢大家。