Bash:彩色复制/粘贴

Bash:彩色复制/粘贴

和大家一样,我的 bash 中也有一些彩色输出。例如,我想在将摘录复制到 HTML 编辑器时保留彩色语法。有办法处理这个问题吗?

谢谢。

答案1

如果您正在谈论某些命令行实用程序(如、、、等)的彩色输出,lsgrep注意,它与 GNU Bash 没有任何关系。cmakegit diff

无论如何,有几种工具可以将使用 ANSI 转义序列着色的输出转换为 HTML:

  • aha来自同名包
  • ansi2htmlHTML::来自ANSIPerl 模块(未打包在 Ubuntu repo 中,可以从 CPAN 安装)
  • ansi2html.sh经过像素b(未打包,从 git 下载)

它们的用法都相当简单:它们从 读取终端转义序列stdin并将 HTML 放入stdout。但请注意:大多数实用程序不会对输出进行彩色处理,除非它要发送到终端。您必须命令它们明确生成彩色输出。例如:

$ ls --color=always | aha | xsel -i -b

xsel -i -b这里将 HTML 复制到剪贴板。

答案2

您需要使用 javascript 库来实现这一点,您无法直接复制/粘贴并保持颜色不变。一些流行的库包括:

来源:类似的问题

相关内容