При просмотре файлов журнала я часто встречаюсь с тем же сообщением об ошибке снова и снова. Конечно, две строки никогда не идентичны из-за временных штампов, имен пользователей, IP-адресов и т. Д.Процентная разница в файлах журналов
Я ищу способ установить «процентную разницу» и игнорировать любые строки, которые говорят, что на 90% уже сообщенное сообщение об ошибке. Другая мысль заключается в том, что всегда игнорировать различия в отметках времени.
Процедура:
- пользователя вводит поисковый термин (ы) (либо регулярное выражение или простой текст) допуск
- входов Пользовательских различий
[Старт] - Grep находит строку, соответствующий поисковый запрос и посылает в новый текстовый файл
- Grep продолжает поиск журналов и находит то же сообщение об ошибке. Разница может быть отметкой времени, датой и, возможно, именем пользователя. Поскольку строка не менее 90% похожа на то, что уже находится в новом файле, grep не копирует ее и продолжает поиск
- Grep находит новую строку, которая соответствует поисковому запросу. Линия меньше 90%, поэтому она копируется в новый файл и становится другой линией, с которой grep сопоставляет будущие результаты.
* Редактировать: Извините, если я не был ясен в первый раз. Я с удовольствием объясню больше, если потребуется.
Спасибо.
- лог.1 - ДД: ММ: ГГГГ ЧЧ: ММ: СС: MS Ошибка - USER не удалось войти в IPaddress
- лог.1 - ДД: ММ: YYYY HH: ММ: СС: МС Оборудование сбой при загрузке
- Log.2 - ДД: ММ: ГГГГ ЧЧ: ММ: СС: MS ресурсы протянуты тонкие, предупреждение - проверить RAM
Итак, в чем вопрос? – zigdon
Функция Perl или комбинация функций позволят мне определить процентное различие между строками текста. Grep находит сообщение об ошибке и копирует его в новый файл. Grep находит такое же сообщение об ошибке, но отличается от метки времени. Поскольку сообщение об ошибке не менее чем на 90% аналогично, игнорирует его и перемещается. Повторите, повторите, повторите. –
@ r.misc: вы должны отредактировать свой вопрос, чтобы добавить дополнительную информацию и объяснить, что именно вы хотите. – Borodin