
私はncursesダンプ(例えばGNU screenのスクリーンレコーダーを使用)を持っており、それをテキストに変換したい。
(会話やリストなどすべてテキストですが、ncurses 形式になっており、永続的なステータス バーや時計などがあります。また、どの ncurses ソフトウェアを使用しているか、また、一般的なソリューションの代わりにそれを使用してテキストを生成する方法については話題を変えたくありません。ソフトウェアは 1 つだけではなく、いくつかあります。GNU screen のスクリーン レコーダーはほんの一例です)
lessツールを使用してファイルを表示すると、バイナリであるというエラーが表示され、大量のゴミが表示されます
cat を使用すると、テキストは表示されますが、すべてのページが一度に表示され、速度を落としたり、操作したりすることはできません (| less を追加すると、cat をまったく使用していないのと同じように動作します)。
grepでも同じで、文字列が見つかった場合にのみすべての行を一度に表示されます。
それで、何かアイデアはありますか?
答え1
通常、このようなファイル(「view」の値によって)は、less -fr
:で表示できます。これは、バイナリであると認識されていてもファイルを-f
強制的に開き、制御文字をそのままディスプレイに渡すように指示します。別の方法としては、ターミナルに表示して、何が起こっているかを追跡できるように速度を落とします(これは ANSI アニメーションを表示するのに便利ですが、あなたのケースでは役立つかもしれません)。less
-r
slowcat
このために。
ansi2txt
またはansi2html
を使用すると、より有用な結果が得られる場合があります。色分けされたログツール。