如何用Notepad++正则表达式格式化日志使行首均为DMA
在Notepad++中用正则表达式整理日志:合并问题行到对应DMA记录
需求说明
需要处理大型日志文件,将所有非DMA:开头的问题行合并到上一行的DMA记录末尾,让每一行都以DMA:开头,方便后续统计各类问题对应的DMA数量。
原始日志示例
DMA: DTS030A - Subnetwork name not populated DMA: DWD019 - Subnetwork name not populated DMA: DTD012 {C9A805B2-58EF-442B-B6FC-BBF933E84AA1} Invalid subnetwork connectivity DMA: DTD012 {C5B8A4A9-410F-46CE-AE09-46EA8E11B2F4} multiple subnetwork controllers
预期输出
DMA: DTS030A - Subnetwork name not populated DMA: DWD019 - Subnetwork name not populated DMA: DTD012 {C9A805B2-58EF-442B-B6FC-BBF933E84AA1} Invalid subnetwork connectivity DMA: DTD012 {C5B8A4A9-410F-46CE-AE09-46EA8E11B2F4} multiple subnetwork controllers
具体操作步骤
- 打开Notepad++并加载目标日志文件
- 打开替换窗口:按下
Ctrl+H组合键,或通过菜单栏「搜索」→「替换」打开 - 在「查找模式」区域选择「正则表达式」,不要勾选「.匹配换行符」选项
- 填写查找与替换内容:
- 查找内容:
(\n)(?!DMA:) - 替换内容:
(输入一个空格)
- 查找内容:
- 点击「全部替换」即可完成格式整理
正则表达式说明
(\n):匹配换行符,作为待替换的目标(?!DMA:):负向前瞻断言,确保换行符后面的内容不是以DMA:开头的行,这样只会匹配那些需要合并到上一行的换行符- 替换为空格:将选中的换行符替换成空格,实现把下一行的问题内容合并到上一行的DMA记录末尾
内容的提问来源于stack exchange,提问作者user1603842
相关产品推荐
相关产品推荐

