Я использую tail -f для просмотра файлов журнала в режиме реального времени.Что делать, чтобы иметь возможность просматривать только строки, содержащие, например, 127.0.0.1?
grep ваш друг:
grep
tail -f foo | grep '127\.0\.0\.1'
tail -f /path/to/log/file | grep --line-buffered 127.0.0.1
--line-buffered не является строго необходимым для grep(1) в этом случае, но это было бы, если бы вы хотели отправить вывод на less(1) или некоторые дальнейшие этапы обработки, и все еще хотели видеть отдельные строки, когда они были зарегистрированы , (См. setvbuf(3) для полной информации о буферизации.)
--line-buffered
grep(1)
less(1)
setvbuf(3)
Часы - это тоже классная команда для этого
watch grep '127.0.0.1' foo
, и он будет обновляться каждые 2 секунды.
Если вы хотите выполнить grep для всех строк, содержащих любой IP-адрес, а не только 127.0.0.1, тогда
tail -f filename|grep '^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$'