Ejecute comandos desde una tubería en tiempo real

Ejecute comandos desde una tubería en tiempo real

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/somedeviceentrega 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 xargso algo así?

Respuesta1

Intenta --line-bufferedhacer una transmisión continua:

cat /dev/somedevice | grep --line-buffered 'test' | sh

información relacionada