хвост-v файл, в то время как, исключая список слов

Я хотел бы выследить файл журнала, в который это непрерывно пишется, но хотело бы исключить различные записи, которые 'распространены', таким образом, я только вижу ошибки, и т.д. поскольку они брошены. Я могу передать по каналу к grep-v "шаблон", но идеально хотел бы использовать файл, содержащий записи в пропуск. Какие-либо идеи?

3
задан 09.10.2010, 00:00

4 ответа

Можно использовать grep -v "pattern" как Вы сказал. Но вместо pattern использовать

`cat file_with_entires_to_skip`

Не забудьте включать обратные галочки. Таким образом, Ваша команда была бы похожа:

tail -v FILE | grep -v "`cat FILE_WITH_ENTRIES_TO_SKIP`"
5
ответ дан 07.12.2019, 23:17

-f опция к grep позволяет указывать файл, содержащий шаблоны, один шаблон на строку. Посмотрите grep(1) страница справочника.

Кроме того, unbuffer команда, доступная в некоторых системах, отключит вывод, буферизующий, который обычно происходит в конвейерах. Добавление grep фильтр может иначе задержать вывод Вашего конвейера. Посмотрите unbuffer(1) страница справочника для деталей.

2
ответ дан 07.12.2019, 23:17

Мой grep включает --exclude-from=FILE опция, которая позволяет мне добавить шаблоны исключения из файла. Я имею:

my-macbook-pro:Sun America ianchesal$ grep --version
grep (GNU grep) 2.5.1

Таким образом, Вы могли сделать:

tail -f <file> | grep --exclude-from=excludes.txt
1
ответ дан 07.12.2019, 23:17

Использовать grep -f FILE и это получит шаблоны из того файла. См. страницу справочника для получения дополнительной информации.

0
ответ дан 07.12.2019, 23:17

Теги

Похожие вопросы