如何 grep 从特定日期到文件末尾的日志文件?

如何 grep 从特定日期到文件末尾的日志文件?

我正在寻找从特定日期/时间到文件末尾的 Apache access_log 文件,因此例如我想从以下字符串的第一个匹配项到文件末尾进行 grep:

19/Jan/2016:22:

最简单的方法是什么?

答案1

假设行数少于 999,999:

grep -A 999999 '19/Jan/2016:22:' access_log

但这将是一个更好的解决方案,因为它不限制比赛后的行数:

sed -n '/19\/Jan\/2016:22:/,$p' access_log

答案2

使用sed反而:

sed -n '\#19/Jan/2016:22:#,${/<regexp>/p}' access.log

其中<regexp>是您想要在 19/Jan/2016:22 之后的行中查找的子表达式:

相关内容