サーバープロセスが数秒ごとに書き換えるステータスファイルを追跡する必要があります。このwatch
コマンドはこの操作に適していますwatch cat file.txt
が(例:)、テーブルの長さは複数のページになります(回転したワイドスクリーンモニタでも同様)。このコマンドを継続的に実行するための専用のディスプレイ/モニターがあり、関連するステータス値を見つけるにはファイルを上下にスクロールできる必要があります。また、モニター全体をそのステータスファイルに専用に使用しているため、私たちも実行されていないこと
を指摘したいと思います。screen
tmux
このトピックを検索しました(最高の議論ここしかし、私たちのシステム(Ubuntu 20)では、どんなコードも機能しません。たとえば、
swatch
実行してスクロールしますが、数分後に更新するたびにテキストが壊れて読み取れなくなります。pwatch
あまりにもひどく点滅して見えません(watch
コマンド自体は完全にシームレスに更新されます)。watch "cat file | tail -n $(($LINES - 2))"
静的オフセットがあり、スクロールがありません。watchall
実際にはスクロールされません(curses
そこにもバグがあるようです)。
それでは、もう一度質問します。watch
Ubuntuで動作するスクロール可能なバージョンを見つけた人はいますか?ありがとうございます。
答え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の実行中に?
キーボードショートカットを取得するには、キーを押します。
viddy
cmdオプション:
$ 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)