Назад | Перейти на главную страницу

перенаправление «tail --follow = name | grep »в файл

Вот мой сценарий:

У меня есть файл журнала, который тоже записывает приложение. Файл журнала называется «alarms.log». Я хочу привязать файл к определенной строке и перенаправить ее в файл с именем alarms.log.test. Итак, я использую следующую команду.

tail --follow=name alarms.log | grep CEC >> alarms.log.test

Затем я отслеживаю файл, на который он перенаправляется, с помощью этой команды:

tail --follow=name alarms.log.test

Моя проблема заключается в следующем: файл alarms.log.test ничего не получает в файле. Я точно знаю, что так и должно быть. Потому что строка находится. Я считаю, что проблема в том, что перенаправление ожидает чтения определенного количества данных, а затем сбрасывается в файл перенаправления, так ли это?

Мне нужно, чтобы он немедленно сбрасывал в файл каждый раз, когда что-то обнаруживается. Есть ли способ сделать это?

Спасибо

Вы можете использовать tee команда для этого?

The tee command is used to store and view (both at the same time) the output of any other command.

Может быть, что-то вроде примера, связанного с Суперпользователь

tail -f alarms.log | egrep --line-buffered 'name' | tee alarms.log.test

Также см: http://linux.101hacks.com/unix/tee-command-examples/