live tail (tail -f) grepped файл

num_chars=54 # offset
ls -ltr | cut -c$num_chars-

измените количество символов (54) по мере необходимости, чтобы вы получали только те данные, которые вам нужны.

2
22.01.2016, 19:06
2 ответа

Вы можете использовать tee с заменой процесса > () :

tail -f -n 20 file.log | tee >(grep 'pattern')

Это покажет вам последние 20 строк file.log , а затем результат grep .

1
29.04.2021, 00:18

Обратите внимание, что в tail -fn2020вступает в игру только в самом начале.

tailпокажет вам первые 20 строк, а затем продолжит отображение всех новых строк, добавляемых по мере их поступления (независимо от того, входят ли они в пакет из 1, 20 или 1000 строк ).

Или, другими словами, tail -fn20похоже на tail -n20, за которым следует tail -fn+1.

Здесь можно сделать:

{ grep pattern | tail -n 20; tail -fn+1 | grep pattern; } < file

То есть выполните первый шаг вручную, а затем tail -fотобразите все остальные.

0
29.04.2021, 00:18

Теги

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