LINUX.ORG.RU

tail -f /path/to/log | grep 'pattern' > file не работает.

 , print to file,


0

1

Собственно при выполнении:

tail -f /path/to/log | grep 'pattern' > file

Создаётся файл, но то что отгрепалось в него не пишется.

Если сделать просто

tail -f /path/to/log | grep 'pattern'
, то получим нормальный вывод в консоль.

Т.е. tail -f выводит нужные строки,передаёт это в grep 'pattern'. grep 'pattern' фильтрует и выводит в консоль. Но если пытаться завернуть вывод в файл, то ничего не получается.

Причём:

tail /path/to/log | grep 'pattern' > file

Работает нормально(без ключа -f) и из 10 строк выводит отгрепанные в файл.

Общая задача выглядит след. образом: Фильтровать все новые строчки в файле логов и те которые подходят по patternу писать в файл.

Может кто подскажет почему так? Или приведёт другое решение общей задачи?

П.С.

Такая штука случилась только на одной машине. На остальных подобная команда выполняется нормально.


Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.