Grz*_*cki 66 command-line colors terminal diff output
有提供彩色输出的工具:
dwdiff -c File1 File2 # word level diff
grep --color=always # we all know this guy
...
Run Code Online (Sandbox Code Playgroud)
问题是:如何将任意程序的彩色输出转换为彩色html文件?
其他输出格式也可能适用(LaTeX 会很棒)。我认为 html 是一个很好的起点,因为很容易将其转换为其他格式。
(对于如何保留终端颜色代码的好奇,请按照答案:https
:
//unix.stackexchange.com/a/10832/9689... | unbuffer command_with_colours arg1 arg2 | ...
- 工具unbuffer是expect 的一部分)
小智 47
这个问题的答案可能就是你想要的。
它链接到这些工具,这些工具可以进行您正在寻找的转换:
Perl 包HTML::FromANSI
aha,一个 C 语言程序(github repo)
您可以尝试vim
使用AnsiEsc.vim插件通过转义码查看 ANSI 颜色,然后重定向到标准输出vim -
(确保您已激活:syntax on
)。然后通过 vim 命令将文件转换为 HTML::TOhtml
. 生成的 HTML 文件应该有彩色输出。
要将源代码以非交互方式转换为 html,请尝试以下命令:
vim -E -s -c "let g:html_no_progress=1" -c "syntax on" -c "set ft=c" -c "runtime syntax/2html.vim" -cwqa myfile.c
Run Code Online (Sandbox Code Playgroud)
来源:(:help g:html_no_progress
部分:help TOhtml
)。
注意:您可以使用 ,-
代替 ,myfile.c
从标准输入转换代码。
ansi2html,在 pypi 上。
人们可能会通过lolcat 和 ansi2html从管道常规 shell 输出中获得无限的乐趣。就像是:
… | lolcat -f | ansi2html -ip
Run Code Online (Sandbox Code Playgroud)