【发布时间】:2013-09-01 19:43:32
【问题描述】:
我必须在 python 中使用 reg ex 解析一个大的日志文件 (2GB)。在日志文件正则表达式匹配我感兴趣的行。日志文件也可能包含不需要的数据。
这是文件中的一个示例:
"#DEBUG:: BFM [L4] 5.4401e+08ps MSG DIR:TX SCB_CB TYPE:DATA_REQ CPortID:'h8 SIZE:'d20 NumSeg:'h0001 Msg_Id:'h00000000"
我的正则表达式是".DEBUG.*MSG."
首先我将使用空格分割它,然后将“field:value”模式插入到 sqlite3 数据库中;但对于大文件,解析文件大约需要 10 到 15 分钟。
请建议在最短的时间内完成上述任务的最佳方法。
【问题讨论】:
-
你能发布一个你正在寻找的日志行和模式的例子吗?
-
格式类似于“#DEBUG:: BFM [L4] 5.4401e+08ps MSG DIR:TX SCB_CB TYPE:DATA_REQ CPortID:'h8 SIZE:'d20 NumSeg:'h0001 Msg_Id:'h00000000 " 并且 reg ex 是 ".DEBUG.*MSG."。首先,我将使用空格将其拆分,然后将“字段:值”模式插入到数据库中。
-
您最好使用处理数据流的程序,例如
sed。
标签: python regex parsing logfile-analysis