tail -f log.txt | egrep --line-buffered 'WARN|ERROR' | tee filtered_output.txt
Команда tail -f log.txt
открывает файл log.txt и выводит последние 10 строк содержимого. Флаг -f
означает, что команда будет отслеживать новые данные, добавленные в конец файла.
Конвейер |
передает вывод команды tail
в качестве ввода для команды egrep --line-buffered 'warn|error'
. Команда egrep
фильтрует строки, содержащие слова «warn» или «error».
Конвейер |
передает вывод команды egrep
в качестве ввода для команды tee filtered_output.txt
. Команда tee
сохраняет вывод в файл filtered_output.txt и одновременно передает его на стандартный вывод.
Таким образом, команда tail -f log.txt | egrep --line-buffered 'warn|error' | tee filtered_output.txt
позволяет получить данные из файла log.txt, отфильтровать строки, содержащие слова «warn» или «error», и сохранить их в файл filtered_output.txt, при этом вывод также будет отображен на экране.
Альтернативой может быть использование команды grep
вместо egrep
, однако egrep
позволяет использовать расширенные регулярные выражения.