同期クライアントの連続出力処理

同期クライアントの連続出力処理

使っています同期クライアントタッチパッドで指の位置を追跡します。次のコマンドを使用します。

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

関連情報