Запускаю iostat в режиме постоянного повторения и перенаправляю в файл
iostat -dx /dev/sdb2 5 >> testlog
– подождав минуту прерываю - всё ОК, статистика в файле.
Запускаю iostat в режиме постоянного повторения через sed и перенаправляю в файл
rm testlog
iostat -dx /dev/sdb2 5 | sed -E 's/^(.*)$/iostat:\1/' >> testlog
– подождав минуту прерываю - файл пустой.
Запускаю iostat в режиме однократного запуска через sed и перенаправляю в файл
rm testlog
iostat -dx /dev/sdb2 | sed -E 's/^(.*)$/iostat:\1/' >> testlog
– всё ОК, статистика в файле.
Очевидно sed ждет, пока наполнится буфер перенаправления.
Как сделать так, чтобы данные из программы обрабатывались на лету и сразу же записывались в файл?
(Дело в том, что я хочу чтобы в этот файл еще писал (через >>) top и исследуемая программа, и надо чтобы их вывод был совмещен и при том хронологически упорядочен)