
Si tengo una tubería como cat /dev/somedevice | grep 'test'
esa, los comandos de salida, como por ejemplo echo 'test 17'
, los comandos aparecen en tiempo real (cada vez /dev/somedevice
entrega alguna línea). Sin embargo, si canalizo los comandos a sh
, no se invocarán inmediatamente debido al almacenamiento en búfer de la canalización. Entonces
cat /dev/somedevice | grep 'test' | sh
No ejecutará comandos en tiempo real.
¿Hay alguna otra manera de hacerlo? ¿Con xargs
o algo así?
Respuesta1
Intenta --line-buffered
hacer una transmisión continua:
cat /dev/somedevice | grep --line-buffered 'test' | sh