tail+sed in eine Pipe lenken

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
storm
Beiträge: 1581
Registriert: 01.05.2004 13:21:26
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DE

tail+sed in eine Pipe lenken

Beitrag von storm » 19.06.2004 21:51:37

Nabend,

ich raff hier was nicht:

ich möchte die Ausgabe von

Code: Alles auswählen

 tail -f blah | sed 's/x/y/' 
in eine Fifo umlenken und wie man an dem -f sehen kann, soll das nicht nur einmalig
geschehen. Den folgenden Code find ich eigentlich ganz ok, er funzt aber nicht:

Code: Alles auswählen

mkfifo -m 0666 /tmp/fifo
exec 3>&/tmp/fifo
tail -f blah | sed 's/x/y/' > 3 &

while read line
do
   echo $line
done </tmp/fifo

exec 3>&-
das läuft nur bis zur 2. Zeile. Warum? Wie kann ich das anders machen?
Ich hab zwar gelesen, dass aus Pipes/Fifos in eine Schleife lesen kritisch ist,
aber genauso viel Beispiele gefunden, wo es so gemacht wurde.

ciao, frank
drivers/ata/libata-core.c: /* devices which puke on READ_NATIVE_MAX */

Antworten