「時計」のローリングバージョン

「時計」のローリングバージョン

サーバープロセスが数秒ごとに書き換えるステータスファイルを追跡する必要があります。このwatchコマンドはこの操作に適していますwatch cat file.txtが(例:)、テーブルの長さは複数のページになります(回転したワイドスクリーンモニタでも同様)。このコマンドを継続的に実行するための専用のディスプレイ/モニターがあり、関連するステータス値を見つけるにはファイルを上下にスクロールできる必要があります。また、モニター全体をそのステータスファイルに専用に使用しているため、私たちも実行されていないこと
を指摘したいと思います。screentmux

このトピックを検索しました(最高の議論ここしかし、私たちのシステム(Ubuntu 20)では、どんなコードも機能しません。たとえば、

  • swatch実行してスクロールしますが、数分後に更新するたびにテキストが壊れて読み取れなくなります。
  • pwatchあまりにもひどく点滅して見えません(watchコマンド自体は完全にシームレスに更新されます)。
  • watch "cat file | tail -n $(($LINES - 2))"静的オフセットがあり、スクロールがありません。
  • watchall実際にはスクロールされません(cursesそこにもバグがあるようです)。

それでは、もう一度質問します。watchUbuntuで動作するスクロール可能なバージョンを見つけた人はいますか?ありがとうございます。

答え1

どのくらいの頻度でスクロールし、ビューをどのくらいの頻度で更新する必要がありますか?スクロールする必要がある場合は、ファイルの特定のインスタンスを表示するのに数秒以上かかることが予想されます。次のことがうまくいく可能性があります。

#!/bin/sh

file="${1}"
while true; do
  timeout 60s less "${file}"
done

答え2

kloggなどの一種のログビューアアプリケーションがあなたのユースケースに役立つと思います。https://klogg.filimonov.dev/

答え3

あなたはそれを使用することができますviddy

カラー出力や違いを強調表示するなど、元のwatchコマンドの基本機能を持っていますが、スクロールを許可し、テキスト検索や以前のバージョンの出力に戻ることができるタイムマシンモードなど、いくつかのよりクールな機能を備えたバイナリです。 。

現在インストールされている単一行は次のとおりです。

wget -O viddy.tar.gz https://github.com/sachaos/viddy/releases/download/v0.3.6/viddy_0.3.6_Linux_x86_64.tar.gz && tar xvf viddy.tar.gz && sudo mv viddy /usr/local/bin

それではこれを使うことができます

viddy -d -n 1 cat file.txt

毎秒ファイルの内容を取得し、変更を強調表示します。 viddyの実行中に?キーボードショートカットを取得するには、キーを押します。

viddycmdオプション:

$ viddy -h

Usage:
 viddy [options] command

Options:
  -b, --bell                 ring terminal bell changes between updates
  -d, --differences          highlight changes between updates
  -n, --interval <interval>  seconds to wait between updates (default "2s")
  -p, --precise              attempt run command in precise intervals
  -c, --clockwork            run command in precise intervals forcibly
  -t, --no-title             turn off header
  --shell                    shell (default "sh")
  --shell-options            additional shell options
  --unfold                   unfold command result
  --pty                      run on pty (experimental, not for Windows)

関連情報