
Wenn ich eine solche Pipe habe, cat /dev/somedevice | grep 'test'
die Befehle ausgibt, wie zum Beispiel echo 'test 17'
, erscheinen die Befehle in Echtzeit ( /dev/somedevice
liefert jedes Mal eine Zeile). Wenn ich die Befehle jedoch an weiterleite sh
, werden sie aufgrund der Pipe-Pufferung nicht sofort aufgerufen. Also
cat /dev/somedevice | grep 'test' | sh
führt keine Befehle in Echtzeit aus.
Gibt es eine andere Möglichkeit, das zu tun? Mit xargs
oder so?
Antwort1
Versuchen Sie --line-buffered
, einen kontinuierlichen Stream zu erstellen:
cat /dev/somedevice | grep --line-buffered 'test' | sh