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