live-f1の出力をファイルに書き込む方法

live-f1の出力をファイルに書き込む方法

ターミナルを開き、live-f1を実行すると、ターミナル(テキスト)に1秒あたりの変更のライブフィードが表示されます。プログラムの実行中(プログラムを終了するには)「Enter」キーのみを使用できます。したがって、コンソールに他のコンテンツを入力することはできません。

毎秒端末の内容をファイルに書きたいです。

どうすればいいですか?

2番目のコンソールを開き、いくつかのコマンドを使用できますか?

setterm -dumpコマンドで動作させることはできません。

答え1

live-f1topまたは同様に、端末制御文字(ncurses)を使用して新しいデータで画面を再描画しますmtr。これがファイルまたはビターミナルデバイスにリダイレクトするときにこれらのすべてのゴミを見る理由です。

残念ながらlive-f1、統計などのデータを保存して後で抽出するのに適した出力を取得するオプションはありません。後で再生できるように出力を保存するには、を使用できますscript

これにより、live-f1 が記録され、typescript と timing ファイルの 2 つのファイルが生成されます。

script -c live-f1 -t 2> timingfile

これにより出力が再生されます。

scriptreplay timingfile

答え2

私はいくつかの方法を使ってあなたに役立つかもしれないファイルで出力をキャプチャします。

script

これにより、サブシェルが生成され、すべての出力がここに保存されます。これを実行してscriptから必要に応じてexitサブシェルを終了すると、出力は "typescript"というファイルに保存されます。

tee

パイプライン全体を別の場所にエコーできます。したがって、tee標準出力をファイルに保存できます。

$ mycommand | tee myoutput

標準エラーもキャプチャする必要がある場合はリダイレクトします。

$ mycommand 2>&1 | tee myoutput

答え3

次のようにプログラムを実行するのはどうですか?

program > /path/to/file

programこれにより、/path/to/file出力はすぐにリダイレクトされます。

端末に出力するにはファイルとして保存してください。確認するbashから出力をリダイレクトして標準出力に送信する方法はありますか?

答え4

使用できるGNU画面、それと共に録音機能。また、この logfile flush secsコマンドを使用すると、出力がディスクにフラッシュされる頻度を制御できます。画面のユーザーマニュアルから:

— コマンド: ログファイルのリフレッシュ時間(秒)

ログファイルが取得される名前を定義します。デフォルトは「screenlog.%n」です。 2番目の形式は、ログファイルバッファをファイルシステムにフラッシュする前に画面が待機する秒数を変更します。デフォルトは10秒です。

関連情報