Teste --line-buffered
para criar um fluxo contínuo:
cat /dev/somedevice | grep --line-buffered 'test' | sh
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?
Teste --line-buffered
para criar um fluxo contínuo:
cat /dev/somedevice | grep --line-buffered 'test' | sh