我有一个 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结合起来。
- grep 查找时间戳的行(让我们将此行称为timestampLine)
- tailLines = (文件中的总行数) - ( timestampLine + 1)
//+ 1 因为请求的第一行带有--id-A--
时间戳,第二行带有时间戳 - tail -n $ tailLines logfile.log
有没有更好的办法?如果没有,我如何 grep 这个时间戳并从步骤 1 中获取行号?