我想知道我怎么能做以下 grep:
和
谢谢
我将以相反的顺序回答这些:
grep 从 2010 年 11 月 15 日开始到最后一个日志条目的 Apache 日志。
这不需要任何类型的日期解析,并且可以通过以下方式轻松完成sed
:
# sed -n '/15\/Nov\/2010/,$ p' /path/to/access_log
Run Code Online (Sandbox Code Playgroud)
这告诉说要显示p
从15/Nov/2010
文件 ( $
)的末尾开始的行( )。
grep Apache 日志仅适用于一系列日期,假设从 2010 年 11 月 5 日到 2010 年 12 月 5 日
这几乎是一样的,但不是在文件末尾显示行,而是在到达第二个日期时停止打印行。你可以尝试这样的事情:
# sed -n '/5\/Nov\/2010/,/5\/Dec\/2010/ p'
Run Code Online (Sandbox Code Playgroud)
请注意,在这两个示例中,我都在对/
字符进行转义,因为sed
使用这些字符来分隔正则表达式。