如何 "tail" modsecurity 日志文件直到某个时间戳?

How to "tail" the modsecurity logfile until a certain timestamp?

我有一个 modsecurity 日志文件,我想在其中获取特定时间戳之前的最后事件。 简要介绍如何组装 modsecurity 日志文件: 例如,1 个事件显示为:

--8b014015-A--
[16/Mar/2016:20:13:02 +0100]
...omitted... 
--8b014015-B--
...omitted... 
--8b014015-F--
...omitted... 
--8b014015-H--
...omitted... 
--8b014015-Z--

可以在此处找到完整示例http://pastebin.com/M1iqnY6L

我正在考虑将 tail 和 grep 结合起来。

  1. grep 查找时间戳行(我们称此行为 timestampLine
  2. tailLines =(文件中的总行数)- (timestampLine + 1)
    //+ 1 因为请求的第一行是 --id-A--,第二行是时间戳
  3. tail -n $tailLines logfile.log

有没有更好的方法?如果没有,我如何 grep 这个时间戳并从第 1 步中获取行号?

awk '{print};/\[16\/Mar\/2016:20:13:02/ {exit}' logfile