代码之家  ›  专栏  ›  技术社区  ›  Myrddin Emrys

将ANSI转义(终端格式/颜色代码)转换为HTML[关闭]的库

  •  63
  • Myrddin Emrys  · 技术社区  · 16 年前

    我正在寻找一个代码库,可以通过简单的标签或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)?

    3 回复  |  直到 9 年前
        1
  •  14
  •   cjm    15 年前
        2
  •  78
  •   Highway of Life    12 年前

    aha 是一个C语言程序,在Ubuntu包中可用,位于 http://ziz.delphigl.com/tool_aha.php 或在Github上 https://github.com/theZiz/aha ,它通过管道或文件接受带有终端颜色的输入,并将(w3c-conform)HTML文件放入stdout。例子:

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

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

    以获得黑色背景的终端外观。

    通过“make”编译它,并把它放在任何你想要的地方。

    得到反馈会很好。;-)

        3
  •  15
  •   Janus Troelsen    9 年前

    成熟的python库和命令行工具,仍在维护: ralphbean/ansi2html

    或者,对于Bourne Shell: ansi2html.sh

    推荐文章