grep 日期范围 - apache 日志

grep 日期范围 - apache 日志

我想知道如何进行以下 grep:

  • grep Apache 日志仅针对某个日期范围,假设从 2010 年 11 月 5 日到 2010 年 12 月 5 日

  • grep Apache 日志从 2010 年 11 月 15 日起直到最后一个日志条目。

谢谢

答案1

我将按相反的顺序回答这些问题:

grep Apache 日志从 2010 年 11 月 15 日起直到最后一个日志条目。

这不需要任何类型的日期解析,可以通过以下方式轻松完成sed

# sed -n '/15\/Nov\/2010/,$ p' /path/to/access_log

这告诉说显示p从 开始到15/Nov/2010文件结尾的行( ) $

grep Apache 日志仅针对某个日期范围,假设从 2010 年 11 月 5 日到 2010 年 12 月 5 日

这几乎是一样的,但是你不想显示文件末尾的行,而是希望在到达第二个日期时停止打印行。你可以尝试这样做:

# sed -n '/5\/Nov\/2010/,/5\/Dec\/2010/ p'

请注意,在这两个例子中,我都转义了/字符,因为sed使用这些字符来分隔正则表达式。

相关内容