2013-11-08 3 views
12

Я пытаюсь достичь эквивалента tail -f -n10 для сопоставленного шаблона.Tail -f - Показать последние строки X, соответствующие шаблону

Сначала я подумал tail -f -n10 | grep PATTERN, но это возвращает линии, соответствующие шаблону в последних 10 строках файла.

То, что я ищу, это последние десять совпадений, которые существуют в файле, а не совпадения в последних десяти строках файла. Есть ли способ достичь этого?

Обратите внимание: Я указал хвост -f, потому что я хотел бы, чтобы выход был непрерывным. Я использую эту команду для просмотра файла журнала для определенного шаблона.

+2

+1 для сложной проблемы. Хотелось бы увидеть решение. – jkshah

ответ

13

grep PATTERN FILE | tail -n10; tail -f -n0 FILE | grep PATTERN;

+0

Я не думал делать это в двух отдельных командах. Это прекрасно работает! – docksteaderluke

+1

Новые строки могут быть написаны между командами, которые вы бы не выбрали. – ryancwarren

0

Как насчет: хвост -f FILE | grep PATTERN | tail -f -n10

+0

Это, похоже, не работает правильно. Я не получаю никаких результатов. – docksteaderluke

Смежные вопросы