我有一个格式非常糟糕的日志文件(我无法更改它的创建方式),我希望对其进行一些分析。
我有一个匹配日志文件中特定行的正则表达式。这些行包含我想在分析之前提取并放入矩阵的数据位(字符串和数字,将被正则表达式中的匹配组捕获)。
实现这一目标的最佳方法是什么?gsub
也许使用该功能?(我对 R 很陌生)
编辑,以解决评论。
我无法发布日志文件内容,但我可以举一个我想要的示例:
我的日志文件如下所示:
....
[Node_1] sometext [Ref:1111111, Strategy:4] Initialise Class1
[Node_1] sometext [Ref:1111111, Strategy:4] Initialise Class1 - 3432ms
some non relevant text
more non relevant text
[Node_4] sometext [Ref:1133311, Strategy:5] Run Class76
[Node_4] sometext [Ref:1133311, Strategy:6] Run Class76 - 5432ms
....
我只想读取末尾有时序的行,并且我希望矩阵中的相应行包含行中的数据位。
因此,如果我的正则表达式如下所示:
^\[([^]]*)\][^[]*\[([^]]*)\] (Initialise|Run) (Class[0-9]+) - ([0-9]+)ms$
我希望矩阵中的线是
\1,\2,\4,\5
IE 对于日志文件中的第二行,矩阵中的行将显示为:
Node_1, "Ref:1111111, Strategy:4", Class1, 3432