繰り返し表示のあるループの出力を表示できる「ウォッチ」などのツールはありますか?

繰り返し表示のあるループの出力を表示できる「ウォッチ」などのツールはありますか?

このようなことが何度も起こっているようです。このようなサイクルを繰り返しながらログの違いを探してみましょう。たとえば、

start
1
2
3
end
start
1
2
4
3
end

ターミナル出力ページをスクロールするのではなく、ログに構造を割り当てます。このツールは、watch特定の間隔でコマンドを実行し、変更を強調表示する機能も使用できます-d。プログラムの出力を開始/終了間の塊に分割する簡単な方法はありますか?

サイクル内の固定線でリアルタイムで変更を確認することで変更を確認できれば幸いです。サイクルをスクロールできることもお勧めします。

答え1

この間、私はいくつかの小さな記事を書いた。良くありませんが、作業は完了です。

https://github.com/pknowles/watch_cycles

cat log.txt | ./watch_cycles "start"

たとえば、次のようになります。

page 2/2
start
1
2
4
3
end

矢印キーは前のページまでスクロールします。

答え2

新しいユーティリティpw(パイプライン監視)まさにこの目的のための機能があります。

tail -f log.txt | pw

pwデータは内部FIFOバッファを介してポンピングされ、スナップショットが撮影され表示され、上下のCtrlP矢印キーまたはおよびを使用して簡単にアクセスできる20画面の深さのスナップショット履歴にプッシュされますCtrlN

デフォルトでは、スナップショットは10秒ごとまたは1秒の読み取りタイムアウトがあるたびに作成されますが、これらのタイムアウトは調整できます。

これトリガー機能は繰り返しパターンの一定の部分を画面上で停止させます。デモビデオでこれを確認できます。

ただし、pwVi検索と同様のコマンドを使用してトリガーモードに簡単に入ります/pattern?patternトリガモードでは、FIFO の 1 つ以上の行に一致する項目が発生するたびにディスプレイが更新されます。まだやるべきことがたくさんあります。

以下のようにプログラムを開始する前にトリガーを指定できます。

# trigger: match foo on line 1, bar on line 3
pw -e /foo -e 3/bar

トリガーやその他の設定を希望の方法で設定した場合は、セッションの保存:s filenameと呼び出しを使用できますpw -f filename。セッションには、フィルタやトリガ、垂直分割構成などの表示設定もあります。ファイルには、簡単に編集および調整できる、および/?コロン)コマンドのみが含まれています。:

関連情報