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