실시간으로 파이프에서 명령 실행

실시간으로 파이프에서 명령 실행

cat /dev/somedevice | grep 'test'예를 들어 와 같은 출력 명령과 같은 파이프가 있는 경우 echo 'test 17'명령은 실시간으로 나타납니다(매번 /dev/somedevice일부 행이 전달됨). 그러나 명령을 에 파이프하면 sh파이프 버퍼링으로 인해 명령이 즉시 호출되지 않습니다. 그래서

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

실시간으로 명령을 실행하지 않습니다.

다른 방법이 있을까요? 아니면 xargs뭔가?

답변1

--line-buffered연속 스트림을 만들어 보십시오 .

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

관련 정보