동기 클라이언트의 연속 출력 처리

동기 클라이언트의 연속 출력 처리

나는 사용하고있다동기화 클라이언트터치패드에서 손가락 위치를 추적합니다. 다음 명령을 사용합니다.

synclient -m 100 | awk '{print $2,$3}'

이 명령은 터치패드의 "x" 및 "y" 좌표를 제공합니다.
내가 원하는 것은 이러한 점을 그리는 프로그램에 이러한 좌표를 제공하는 것입니다. 새로운 점을 추적한 후에는 플롯해야 합니다. 그런데 내 문제는 명령이 계속해서 출력을 생성하고 아직 완료되지 않았기 때문에 지속적으로 생성되는 명령의 출력을 어떻게 전달하는지 모른다는 것입니다. 이 목표를 달성하는 방법은 무엇입니까?

(제가 얻은 결과는 다음과 같습니다.

timeout 5 synclient -m 100 > pattern 

그래서 5초가 지나면 "패턴" 파일에 모든 정보가 포함됩니다. 파일에서 좌표를 추출하고 선을 그립니다. 하지만 나는 그러고 싶지 않아요. )

답변1

각 행마다 새로운 플롯이 생성될 것이라고 가정합니다. 그처럼

synclient -m 100 |
  while read _ x y; do
    drawprogram $x $y
  done

해야 할 것. 버퍼링 문제가 있는 경우 를 확인하세요 stdbuf.

관련 정보