![동기 클라이언트의 연속 출력 처리](https://linux55.com/image/44740/%EB%8F%99%EA%B8%B0%20%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8%EC%9D%98%20%EC%97%B0%EC%86%8D%20%EC%B6%9C%EB%A0%A5%20%EC%B2%98%EB%A6%AC.png)
나는 사용하고있다동기화 클라이언트터치패드에서 손가락 위치를 추적합니다. 다음 명령을 사용합니다.
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
.