Text 关于如何在文本块中查找并替换为变量数据的建议

Text 关于如何在文本块中查找并替换为变量数据的建议,text,replace,find,Text,Replace,Find,有人能推荐一个工具来获取一个大的日志文件并进行查找和替换,以删除一堆我不需要的日志项,这样我就可以找到少量的相关项吗?问题是,有些文本始终是静态的,但有些部分是可变的。下面是日志文件中的一个条目示例,其中粗体项目是每个项目可以更改的内容 2013年11月27日上午10:55:58 在方法中:ProcessXMLMessage 错误:-2147217833 说明:字符串或二进制数据将被截断。 SQL:在FOOPID、RECORDID、REASONID、REASONTEXT值1884596、1、4中

有人能推荐一个工具来获取一个大的日志文件并进行查找和替换,以删除一堆我不需要的日志项,这样我就可以找到少量的相关项吗?问题是,有些文本始终是静态的,但有些部分是可变的。下面是日志文件中的一个条目示例,其中粗体项目是每个项目可以更改的内容

2013年11月27日上午10:55:58 在方法中:ProcessXMLMessage 错误:-2147217833 说明:字符串或二进制数据将被截断。 SQL:在FOOPID、RECORDID、REASONID、REASONTEXT值1884596、1、4中插入“我喜欢鸡蛋”


建议使用大文件工具:UltraEdit:

对解决方案的建议:Python—编写一个脚本来解析日志文件以查找具有动态内容的静态消息标记—来解析或更改为新的过滤文件。这里有一个例子:但你应该能够找到更多

如果您使用大型文件编辑器,则需要编写某种脚本来完成您正在讨论的内容。Python非常容易学习,即使您是一名新手,也可以在几个小时内编写

希望这有帮助


Tim

如果您只想删除包含此静态文本的行,请查看。例如:

grep -v ProcessXMLMessage logfilename 

应该为您提供文件中调用logfilename的所有行,这些行上没有ProcessXMLMessage

谢谢你,埃里克。实际上,它是一个较大的块,组成每个日志项,它跨越多行,例如末尾的CRs,以及一些项的部分具有相同的静态文本。谢谢Tim。我来看看Ultraedit。如果我想成为一名自恋者,我可以尝试抹去我的旧regexp知识,但我正在努力变得懒惰,并找到一个GUI工具来让我做到这一点最后,我使用了Ultraedit并选中了替换对话框中的regex选项框,并使用了以下替换文本,这对我来说非常有用。----------------------------2*在方法:clsMessageXML9929中。初始化错误:0说明:XML加载错误详细信息:错误的XML-无法初始化oXMLMessage。*PCRMessage State PCRID:*MessageID:*MessageBody:*MessageType:*TabletID:*服务器ID:*
grep -v ProcessXMLMessage logfilename