Бывало
tail -f app.log | grep ERROR - лог пишется, а grep молчит и выводит всё сразу через секунды?Это не баг. Большинство CLI-утилит буферизуют
stdout, когда работают не в TTY, а в пайпе. Отключаем буферизацию:stdbuf -oL grep "ERROR" app.log
-oL — построчный вывод (line-buffered).Классический сценарий мониторинга логов без задержек:
tail -f app.log | stdbuf -oL grep "ERROR"
Альтернатива специально для
grep:tail -f app.log | grep --line-buffered "ERROR"
Работает и с другими командами:
journalctl -f | stdbuf -oL grep nginx
🔥 Если команда в пайпе не отвечает, почти всегда виновата буферизация.
stdbuf -oL (или grep --line-buffered) возвращает вывод без переписывания пайпа.➡️ DevOps Ready | #совет
