和大家一样,我的 bash 中也有一些彩色输出。例如,我想在将摘录复制到 HTML 编辑器时保留彩色语法。有办法处理这个问题吗?
谢谢。
答案1
如果您正在谈论某些命令行实用程序(如、、、等)的彩色输出,ls
请grep
注意,它与 GNU Bash 没有任何关系。cmake
git diff
无论如何,有几种工具可以将使用 ANSI 转义序列着色的输出转换为 HTML:
aha
来自同名包ansi2html
从HTML::来自ANSIPerl 模块(未打包在 Ubuntu repo 中,可以从 CPAN 安装)ansi2html.sh
经过像素b(未打包,从 git 下载)
它们的用法都相当简单:它们从 读取终端转义序列stdin
并将 HTML 放入stdout
。但请注意:大多数实用程序不会对输出进行彩色处理,除非它要发送到终端。您必须命令它们明确生成彩色输出。例如:
$ ls --color=always | aha | xsel -i -b
xsel -i -b
这里将 HTML 复制到剪贴板。