Получить первые n строк нового ввода при использовании tail -f

Я слежу за файлом журнала, но мне нужны только первые 3 строки нового ввода каждый раз, когда к нему что-то добавляется.

Я пробовал tail -f /var/log/webapps/app.name.com.error.log и даже перенаправлял вывод tail -f в sed, но ни один из них не работал так, как я хотел.


person Thermatix    schedule 27.07.2016    source источник


Ответы (1)


Если вам известно какое-то содержание первой строки, вы можете передать его с помощью grep и -A

tail -f LGOFILE | grep "FIRSTLINE" -A 2
person Johannes Zink    schedule 27.07.2016
comment
первый печатает только последние 3 строки файла, а затем все еще печатает все строки каждого нового ввода, мне нужны только первые 3 строки каждого нового ввода. - person Thermatix; 27.07.2016
comment
Обновил мой ответ... В моем случае это сработало. Может быть, вы можете пойти от этого. - person Johannes Zink; 27.07.2016
comment
Нет ответа? Возможно, вы искали не ту строку. - person Johannes Zink; 27.07.2016
comment
Я заставил его работать, выполнив |grep "#<.*Error:" -A 2, и теперь он работает. - person Thermatix; 27.07.2016