我在学习Linux的时候想写一些笔记(HTML格式),当我需要记录彩色的终端文本输出时,我希望终端文本的颜色能够保留在我的笔记中,例如:
Note 1: Test
The output of xx command is
<pre>
[root@webserver ~]# ll /
total 100
drwxrwxrwt. 7 root root 4096 8月 24 12:22 <span style='background-color:green; color:blue;'>tmp</span>
drwxr-xr-x. 14 root root 4096 7月 19 21:20 <span style='color:blue;'>usr</span>
</pre>
我可以手动在纯文本周围添加 HTML 代码包装器,但我希望有一种自动的方法来实现这一点。
目前,我正在使用 Windows 上的 putty 连接到远程 CentOS Linux 服务器。
答案1
使用脚本实用程序将终端输出捕获到文件(包括 ANSI 颜色控制字符),然后使用ansi2html脚本。例如:
inigo:tmp> script
Script started, file is typescript
inigo:tmp> ls
#
# lots of colour output
#
inigo:tmp> exit
exit
Script done, file is typescript
inigo:tmp> cat typescript | ansi2html.sh > typescript.html
如果使用 PuTTY,“所有会话输出”登录选项也将保留 ansi 颜色代码。
作为替代方案ansi2html,你可以使用aha——Ansi HTML 适配器。
答案2
七年零九个月后,putty 仍然不支持“复制为 HTML”功能。
由于 Windows XP 的终止使用,我已经将 Fedora Linux 作为我的主要工作操作系统大约六年零九个月了。
现在,gnome 终端v3.x 已添加 '复制为 HTML' 功能 3 年(git 提交 GNOME 错误报告),并且它的工作方式与我预期的一样,所以如果需要的话,我将使用 gnome-terminal 来完成这项工作。请参阅下面的屏幕截图。
GNOME 终端 3.36.1.1 窗口
从 GNOME 终端复制的 HTML 代码
<pre><font color="#00D700">root</font> @ <span style="background-color:#005FAF"><font color="#00005F">tx300</font></span> <font color="#00FFFF">/tmp</font> <span style="background-color:#AF00AF"><font color="#FF0A0A">2020-05-29 16:34:00</font></span>
# ls /usr/bin/vi*
<font color="#00FFFF">/usr/bin/vi</font> <font color="#00D700">/usr/bin/virt-alignment-scan</font> <font color="#00D700">/usr/bin/virt-edit</font> <font color="#00D700">/usr/bin/virt-ls</font> <font color="#00D700">/usr/bin/virt-tail</font>
<font color="#00FFFF">/usr/bin/view</font> <font color="#00D700">/usr/bin/virt-builder</font> <font color="#00D700">/usr/bin/virt-filesystems</font> <font color="#00D700">/usr/bin/virt-make-fs</font> <font color="#00D700">/usr/bin/virt-tar-in</font>
<font color="#00D700">/usr/bin/viewres</font> <font color="#00D700">/usr/bin/virt-builder-repository</font> <font color="#00D700">/usr/bin/virt-format</font> <font color="#00D700">/usr/bin/virt-manager</font> <font color="#00D700">/usr/bin/virt-tar-out</font>
<font color="#00D700">/usr/bin/vim</font> <font color="#00D700">/usr/bin/virt-cat</font> <font color="#00D700">/usr/bin/virtfs-proxy-helper</font> <font color="#00D700">/usr/bin/virt-pki-validate</font> <font color="#00D700">/usr/bin/virt-win-reg</font>
<font color="#00FFFF">/usr/bin/vimdiff</font> <font color="#00D700">/usr/bin/virt-copy-in</font> <font color="#00D700">/usr/bin/virt-get-kernel</font> <font color="#00D700">/usr/bin/virt-qemu-run</font> <font color="#00D700">/usr/bin/virt-xml-validate</font>
<font color="#00D700">/usr/bin/vimdot</font> <font color="#00D700">/usr/bin/virt-copy-out</font> <font color="#00D700">/usr/bin/virt-host-validate</font> <font color="#00D700">/usr/bin/virt-rescue</font> <font color="#00D700">/usr/bin/vi.vi</font>
<font color="#00D700">/usr/bin/vimtutor</font> <font color="#00D700">/usr/bin/virt-customize</font> <font color="#00D700">/usr/bin/virt-index-validate</font> <font color="#00D700">/usr/bin/virt-resize</font>
<font color="#00FFFF">/usr/bin/vimx</font> <font color="#00D700">/usr/bin/virt-df</font> <font color="#00D700">/usr/bin/virt-inspector</font> <font color="#00D700">/usr/bin/virt-sparsify</font>
<font color="#00D700">/usr/bin/virsh</font> <font color="#00D700">/usr/bin/virt-diff</font> <font color="#00D700">/usr/bin/virt-log</font> <font color="#00D700">/usr/bin/virt-sysprep</font>
<font color="#00D700">root</font> @ <span style="background-color:#005FAF"><font color="#00005F">tx300</font></span> <font color="#00FFFF">/tmp</font> <span style="background-color:#FF87AF"><font color="#8A8A8A">2020-05-29 16:34:03</font></span>
#
</pre>
HTML 渲染结果(Firefox 76.0.1)