
Se eu tiver um pipe como cat /dev/somedevice | grep 'test'
esse que gera comandos, como por exemplo echo 'test 17'
, os comandos aparecem em tempo real (sempre /dev/somedevice
entrega alguma linha). No entanto, se eu canalizar os comandos para sh
, eles não serão invocados imediatamente devido ao buffer de pipe. Então
cat /dev/somedevice | grep 'test' | sh
não executará comandos em tempo real.
Existe alguma outra maneira de fazer isso? Com xargs
ou algo assim?
Responder1
Tente --line-buffered
fazer um fluxo contínuo:
cat /dev/somedevice | grep --line-buffered 'test' | sh