LINUX.ORG.RU

странная буферизация awk


0

0

Если запустить

while true; do echo "text1 text2"; sleep 1; done | awk '{print $1}'

то text1 выводится ежесекундно, как и должно быть.

Если же вставить между пайпами тривиальную операцию grep -v «TEST»

while true; do echo "text1 text2"; sleep 1; done | grep -v "TEST" | awk '{print $1}'

то выхлоп можно ждать до второго пришествия.

Вместо grep -v «TEST» можно подставить любую тривиальную операцию (tr '\n' '\n' или же sed 's/a/a/g'). Поведение точно такое же.

Это какой-то особый недовкуренный мною дзен, или просто банальная бага?

Если убрать sleep, то все пашет как надо.

Как-то связано с буферизацией awk? Если да, то где это можно настроить?

Заранее благодарен всем соучаствующим.



Последнее исправление: mclaudt (всего исправлений: 1)

Ага, оно все-таки выплевывает, но кусками раз в 5-10 минут.

Бред.

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