У меня есть журнал, который постоянно выбрасывает данные на экран. Мне нужно поймать строку, содержащую определенную строку, распечатать ее и следующие 5 строк после. Это легко сделать с помощью статического файла, такого как: grep -A 5 "XXX" /mnt /flash /logs /system /messages

1 ответ1

1
tail -f /mnt/flash/logs/system/messages | grep -A 5 "XXX"

О tail -f:

-f
Если входной файл является обычным файлом или если в операнде файла указан FIFO, не завершайте после копирования последней строки входного файла, а читайте и копируйте дополнительные байты из входного файла, когда они станут доступны. [...]

Вы уже знаете grep -A . Обратите внимание, что он не переносим (-A не требуется для POSIX), а tail -f -.

Так как вращение журналов обычно, вы можете find --follow=name более полезным. Ваша find может поддерживать или не поддерживать ее, проверьте man 1 find в вашей ОС.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .