【发布时间】:2016-11-06 15:06:57
【问题描述】:
我有多个 GB 的日志文件要搜索。每个日志都有一个时间戳、消息和额外的多个字段,因此每个日志由多行组成,如下所示:
Mon Jan 20 12:00:00 2016 127.0.0.1:12345 Hello World!
Field_1 = foo
Field_2 = bar
... (some more fields)
<empty line>
请注意,这样两个日志由一个空行分隔。不幸的是,只有单个日志文件按时间排序,必须交错两个不同的日志文件才能获得整个有序的日志行。这是我想要实现的第一件事。
我还想搜索日志。这基本上意味着我想在每个日志上定义搜索词和 grep。所有搜索词都需要匹配。所以最后我想要一组符合我搜索条件的有序日志。
我试图通过使用 grep 的上下文搜索来解决这个问题,但是缺少时间顺序和固定的上下文大小使它很痛苦。所以我想问一下是否有一些 Bash 或 Python 魔法可以让这种情况发生。非常感谢每一个提示!
【问题讨论】:
-
如果你知道你的时间格式,你可以使用 awk coderwall.com/p/ueazhw/parsing-logs-with-awk
-
@dmitryro 谢谢你的链接。其实我是不知道awk的!与this 一起,我将尝试让一些东西运行起来。
-
[python] parsing logfiles的搜索结果为 64 个,[python] logfile的搜索结果为 700+。你看过他们中的任何一个吗?祝你好运。
标签: python bash sorting search logging