【问题标题】:A library to convert ANSI escapes (terminal formatting/color codes) to HTML [closed]将 ANSI 转义(终端格式/颜色代码)转换为 HTML 的库 [关闭]
【发布时间】:2010-09-19 16:42:05
【问题描述】:

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

没有必要将break转换为
,只是我不知道的转义码。我可以自己破解它,但我可能会错过一些重要的东西,比如下划线或搞乱背景颜色的工作方式。我宁愿只是坐在别人的代码之上。

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

【问题讨论】:

  • 好问题和一组有价值的答案!

标签: html terminal-color ansi-escape


【解决方案1】:

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

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

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

具有黑色背景的类似终端的外观。

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

很高兴获得反馈。 ;-)

【讨论】:

  • IcanDivideBy0 遗漏了一些东西:Alexander Matthes 帖子中的“德语链接”仍然有效。原始帖子在“ziz”之前有一个错误的'';使用ziz.delphigl.com/tool_aha.php 此外,Alexander 的链接指向: - ziz.delphigl.com/data/aha-src-0.4.4.tar.gz 的源代码,以及 - http://packages.debian.org/search?keywords=aha 的其他 debian 软件包(删除空格('')在“:”之后添加,因为我没有权限在每个帖子中包含超过 2 个链接。)
  • aha有一个ubuntu包
  • 只是想提醒其他人,这个应用程序的 github 存储库在 os x 上编译和运行没有问题。 :)
  • 我刚刚添加了一个Homebrew Pull Request for aha。如果它被接受,在 Mac 上安装 aha 将是一个简单的brew update &amp;&amp; brew install aha
  • 据我所知,似乎只能处理 16 种颜色。
【解决方案2】:

目前仍在维护的成熟 Python 库和命令行工具:pycontribs/ansi2html

或者,对于 Bourne shell:ansi2html.sh

【讨论】:

  • “灵感来自 pixelbeat 和 blackjack”。我更喜欢这个,-i 选项很棒:)
  • 太棒了!两者都可以处理 256 种颜色。赞成。
  • pixelbeat ansi2html.sh 非常适合我!
  • 不再局限于 Bourne 并且提供 deb、yum、apt 包:pypi.python.org/pypi/ansi2html/1.0.7
【解决方案3】:

【讨论】:

  • 此模块安装 ansi2html,您可以通过管道输入。 ls --color | ansi2html -p &gt; my_web_page.html ls --color | ansi2html &gt; my_snpipet_code-no_header-footer.html 但我更喜欢 ansi2html.sh from pixelbeat 的默认输出
猜你喜欢
  • 2013-10-13
  • 1970-01-01
  • 2021-01-14
  • 2012-07-07
  • 1970-01-01
  • 2014-09-26
  • 2019-11-01
  • 2017-04-06
  • 1970-01-01
相关资源
最近更新 更多