web-dev-qa-db-ja.com

ANSIエスケープ(ターミナルのフォーマット/カラーコード)をHTMLに変換するライブラリ

プレーンタグまたはCSSを介して、ANSIエスケープシーケンスをHTMLカラーに変換するコードライブラリを探しています。たとえば、これを変換するもの:

ESC [00mESC [01; 34mbinESC [00m 
 ESC [01; 34mcodeESC [00m 
 ESC [01; 31mdropbox-lnx.x86-0.6.404.tar.gzESC [00m 
 ESC [00mfooESC [00m

これに:

<span style="color:blue">bin</span>
<span style="color:blue">code</span>
<span style="color:red">dropbox-lnx.x86-0.6.404.tar.gz</span>
foo

ブレークを<br/>に変換する必要はありません、それは私が知らないエスケープコードだけです。自分でハッキングすることもできましたが、下線のような重要なものを見逃したり、背景色がどのように機能するかを間違えたりするでしょう。私は他の誰かのコードの上に座っているだけです。

そのようなツール(コマンドラインLinux)またはライブラリ(Perl、Python、またはRubyできれば))は存在しますか?

70
Myrddin Emrys

HTML :: FromANSI Perlモジュール があるようです。

15
Pistos

ahaはC言語プログラムであり、Ubuntuパッケージで http://ziz.delphigl.com/tool_aha.php またはgithubで入手できます https:/ /github.com/theZiz/aha は、パイプまたはファイルによって端末の色で入力を受け取り、(w3cに準拠した)HTMLファイルをstdoutに配置します。例:

ls --color=always | aha > ls-output.htm

または

ls --color=always | aha --black > ls-output.htm

背景が黒の端末のような外観にします。

「make」でコンパイルして、好きな場所に配置してください。

フィードバックをいただければ幸いです。 ;-)

84

成熟したPythonまだ維持されているライブラリとコマンドラインツール: ralphbean/ansi2html

または、Bourne Shellの場合: ansi2html.sh

16
Janus Troelsen