Executa comandos de um pipe em tempo real

1

Se eu tiver um pipe como cat /dev/somedevice | grep 'test' que os comandos de saída, como por exemplo echo 'test 17' , os comandos aparecerão em tempo real (sempre que /dev/somedevice fornecer alguma linha). Se eu no entanto canalizar os comandos para sh , eles não serão invocados imediatamente por causa do buffer de tubulação. Então

cat /dev/somedevice | grep 'test' | sh

não executará comandos em tempo real.

Existe alguma outra maneira que seria? Com xargs ou algo assim?

    
por dronus 06.08.2015 / 15:16

1 resposta

2

Teste --line-buffered para criar um fluxo contínuo:

cat /dev/somedevice | grep --line-buffered 'test' | sh
    
por 06.08.2015 / 15:21

Tags