用于将ANSI转义(终端格式/颜色代码)转换为HTML的库

时间:2008-10-28 22:29:50

标签: html terminal-color ansi-escape

我正在寻找一个代码库,通过普通标签或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

将中断转换为&lt; br /&gt;没有必要,它只是我不知道的逃脱码。我可以自己一起破解它,但我可能会错过一些重要的东西,如下划线或搞乱背景颜色如何工作。我宁愿坐在其他人的代码之上。

是否存在这样的工具(命令行linux)或库(最好是perl,python或ruby)?

3 个答案:

答案 0 :(得分:81)

aha是一个C语言程序,可以在http://ziz.delphigl.com/tool_aha.php或github https://github.com/theZiz/aha的Ubuntu包中找到,它通过管道或文件接收终端颜色的输入并放置一个(符合w3c)stdout中的HTML-File。例如:

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

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

用于黑色背景的终端式外观。

通过“make”编译并将其放在任何你想要的地方。

获得反馈会很棒。 ; - )

答案 1 :(得分:16)

仍然维护的成熟Python库和命令行工具:ralphbean/ansi2html

或者,对于Bourne shell:ansi2html.sh

答案 2 :(得分:14)