我有这样的日志:
14:40:33.476 [WebContainer : 149] sometihng sometihng
14:40:33.476 [WebContainer : 149] sometihng sometihng
14:40:33.476 [WebContainer : 149] sometihng sometihng
14:40:33.476 [WebContainer : 245] csometihng sometihng
14:40:33.476 [WebContainer : 245] sometihng sometihng
14:40:33.476 [WebContainer : 245] sometihng sometihng
我使用nxlog将其发送到kafka,我想要的是将带有“ WebContainer:149”的所有行合并为一个,然后在更改时合并下一行,依此类推。
答案 0 :(得分:1)
您可以使用以下正则表达式捕获具有特定值的所有行:
/(.*\[WebContainer : (\d+)\]\s*(.*))+\s+.*\[WebContainer : \2\]\s(.*)+\s+.*\[WebContainer : \2\]\s(.*)+/g
正则表达式会匹配任何数量的任何字符,最多不超过'[WebContainer :
',然后匹配任何数字和右方括号,然后再加上空格。
然后重新开始(换行),仅在这里使用捕获组2来指定编号。在第三行重复此操作。
然后将匹配项替换为:
$1$3$4
现在您将获得每个数字一行,并将每行的'sometihng
'组合起来。