У меня есть журнал, который постоянно выбрасывает данные на экран. Мне нужно поймать строку, содержащую определенную строку, распечатать ее и следующие 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 в вашей ОС.
