Verwenden Sie die Option -u
( --unbuffered
) von sed, damit die Ausgabe geschrieben wird, anstatt sie zuerst für ein schnelles, umfangreiches Schreiben zu sammeln.
cat fifo | sed -u 's/a/b/' | sed -u 's/b/c/'
cat
ist immer ungepuffert.
Wenn es nicht um etwas geht sed
, sondern um ein Programm mit Ausgabepufferung, aber ohne Optionen zum Deaktivieren, gibt es Tools, mit denen die Pufferung deaktiviert werden kann - siehe man unbuffer
und man stdbuf
.
Wenn es sich um ein Shellskript handelt, sollte es standardmäßig nicht gepuffert werden: Wenn ein Befehl eine Ausgabe im Skript erstellt und beendet, wird die Ausgabe geleert. Andernfalls verwenden Sie im Shell-Skript Unbuffer.
Hintergrundinformationen finden Sie in dieser Übersicht über die stdio-Pufferung .