在浏览日志文件时,我经常会一次又一次遇到相同的错误消息。当然,由于时间戳,用户名,IP地址等原因,两条线永远不会相同。日志文件的差异百分比
我正在寻找一种方法来设置“百分比差异”,并忽略与90%相似的任何行已经报告的错误消息。另一个想法是总是也忽略时间戳差异。
步骤:
- 用户输入搜索项(多个)(无论是正则表达式或简单文本),用于区别
- 用户输入公差
[开始] - grep的发现字符串匹配的搜索术语,并发送到新的文本文件
- Grep继续搜索日志,并找到相同的错误消息。差异可能是时间戳,日期和可能的用户名。由于该行至少有90%与新文件中的行相似,因此grep不会将其复制并继续搜索
- grep找到与搜索词匹配的新行。行相似度小于90%,因此它被复制到新文件并成为grep匹配未来结果的另一行。
*编辑:对不起,如果我第一次不清楚。如果需要,我会很乐意解释。
谢谢。
- Log.1 - DD:MM:YYYY HH:MM:SS:MS错误 - 用户未能在IPADDRESS
- Log.1登录 - DD:MM:YYYY HH:MM:SS:MS硬件开机
- Log.2时失败 - DD:MM:YYYY HH:MM:SS:MS资源的捉襟见肘,警告 - 检查RAM
那么,这里有什么问题? – zigdon 2012-04-13 19:20:39
什么Perl函数或函数的组合可以让我识别文本行之间的百分比差异。 Grep找到一条错误消息并将其复制到新文件。 Grep找到相同的错误信息,但时间戳不同。由于错误消息至少有90%相似,因此忽略它并继续前进。重复,重复,重复。 – 2012-04-13 19:28:42
@ r.misc:您应该编辑您的问题以添加更多信息并解释您想要的内容。 – Borodin 2012-04-13 19:31:08