(Я попросил этот вопрос о stackoverflow но может быть лучше здесь ...)
Мне нужно прочитать несколько гигантских файлов журнала в системе Linux. В журналах много беспорядка. На данный момент делаю примерно так:
cat logfile.txt | grep -v "IgnoreThis\|IgnoreThat" | less
Но это громоздко - каждый раз, когда я хочу добавить еще один фильтр, мне нужно выйти less
и отредактируйте командную строку. Некоторые фильтры относительно сложные и могут быть многострочными.
Я хотел бы каким-то образом применить фильтры, когда я читаю журнал, и способ сохранить эти фильтры где-нибудь.
Есть ли инструмент, который может сделать это за меня? Я не могу установить новое программное обеспечение, так что надеюсь, что это уже будет установлено - например, less, vi, что-то в Python или Perl lib и т. Д.
Изменение кода, генерирующего журнал, на меньшее количество - не вариант.
grep
', 'sed
','AWK
'обычно достаточно для очень хорошей обработки текстового файла журнала.bash scripts
'.vim
', он также может обрабатывать большие файлы (но это займет время, поэтому отдайте ему отфильтрованные файлы)У вас определенно не будет этого установленного, но если это будет обычная вещь, которую вы должны делать, возможно, стоит изучить Splunk. Splunk существует для индексирования таких больших наборов данных, чтобы помочь вам найти то, что вы ищете.