复制彩色终端(模拟器)文本输出并粘贴为HTML?


12

我想在学习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上使用腻子连接到远程CentOS linux服务器。


您想将数据从终端复制到缓冲区,并且将其粘贴到记事本中时,会期望在颜色词附近看到html?
Ishikawa Yoshi

是的,这就是我想要的。我认为可以在终端仿真器软件中完成(将控制字符转换为HTML),但是我不知道是否有这样的仿真器具有这种功能。
刘岩刘研2012年


感谢您的链接,我之前没有注意到该选项。但是,这是一个稍微不同的问题,我希望粘贴为HTML代码,而不是RTF格式(而且我的RTF粘贴似乎是格式错误的字符)。
刘岩刘研2012年

Answers:


15

使用脚本实用程序将终端输出捕获到文件(包括ansi色彩控制字符),然后使用ansi2html脚本将其转换为html 。例如:

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 Adapter

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.