linux – 如何在一个时间范围内grep httpd error_log?

linux – 如何在一个时间范围内grep httpd error_log?,第1张

概述我怎样才能根据时间范围从一个巨大的(120GB)httpd error_log中仅查找行,比如说: from 2011-11-15 11:30 pmto 2011-11-16 01:30 am 谢谢! 您可能需要进行深入研究,我首先要获取日期范围: grep -e "2011\-11\-[15-16] " error_log > filteredgrep -v -e "2011\-11\- 我怎样才能根据时间范围从一个巨大的(120GB)httpd error_log中仅查找行,比如说:
from 2011-11-15 11:30 pmto   2011-11-16 01:30 am

谢谢!

解决方法 您可能需要进行深入研究,我首先要获取日期范围:
grep -e "2011\-11\-[15-16] " error_log > filteredgrep -v -e "2011\-11\-15 [0-10]:" | grep -v -e "2011\-11\-15 11:[0-29]" > filteredgrep -v -e "2011\-11\-16 [2-23]:" | grep -v -e "2011\-11\-16 01:[31-59]" > filteredcat filtered

我能想到但尚未完成的最有效的方法是找到日期范围的开始和结束字节并得到它; (这显然可以用grep)但我不知道如何从文件中获取一系列字节 – 可能需要一些awk技能

编辑:因为这是一个有趣的问题 – 我做了一些挖掘:

您可以执行以下 *** 作来获取第一个字节偏移:

# Get first byte offset,leftmost number is the offset...grep -m 1 -b "2011-11-15 11:3" error_log # Get last byte offsetgrep -m 1 -b "2011-11-16 01:3" error_log #(Subtract first number from last number to get byte length) Then do:dd if=error_log of=filtered bs=c skip=<first number> count=<last_byte#-first_byte#>
总结

以上是内存溢出为你收集整理的linux – 如何在一个时间范围内grep httpd error_log?全部内容,希望文章能够帮你解决linux – 如何在一个时间范围内grep httpd error_log?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1038127.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存