Html 到 ansi 彩色终端文本
Posted
技术标签:
【中文标题】Html 到 ansi 彩色终端文本【英文标题】:Html to ansi colored terminal text 【发布时间】:2011-07-22 00:03:45 【问题描述】:我在Linux下,我想从网上获取一个html页面,然后在终端上输出。我发现html2text
基本上完成了这项工作,但它将我的html 转换为纯文本,而我最好本着ls --color=auto
的精神将其转换为ansi 彩色文本。有什么想法吗?
【问题讨论】:
【参考方案1】:elinks
浏览器可以做到这一点。其他文本浏览器,例如 lynx
或 w3m
或许也能做到这一点。
elinks -dump -dump-color-mode 1 http://example.com/
上面的示例提供了http://example.com/
的文本版本,使用16 种颜色。输出格式可以根据需要进一步定制。
-dump
选项启用转储模式,该模式仅将整个页面打印为文本,链接目标以一种“电子邮件样式”打印出来。
-dump-color-mode 1
启用使用 16 种基本终端颜色对输出进行着色。根据终端仿真器的价值和能力,这可能高达约 1600 万(真彩色)。这些值记录在elinks.conf(5)。
也可以配置用于输出的颜色,这在elinks.conf(5) 中也有记录。
【讨论】:
请注意,elinks
不会自动重置终端颜色,从而导致任何后续输出(来自脚本或终端)与 elinks
输出的结尾颜色相同,直到出现新颜色遇到代码。您可以通过在elinks
之后执行tput sgr0
来手动重置。【参考方案2】:
w3m browser 支持coloring the output text。
【讨论】:
好吧,lynx
也可以,但我只需要输出页面而不是浏览它。
您不必这样做。 w3m
也有类似 -dump
的选项,elinks
也有。这只是选择您最喜欢的那个的问题。
@davrieb,知道如何让其中一个浏览器转储颜色吗?
@sarmold:不是从我的头顶,但是是的。我将在单独的答案中提供详细信息,以便更好地发现。
@davrieb, w3m [0.5.3, 2018] -dump 抑制彩色输出【参考方案3】:
您可以使用 lynx 浏览器使用此命令输出文本。
lynx -dump http://example.com
【讨论】:
知道如何让lynx -dump
也包含颜色吗?至少在我的发行版中,lynx
是针对ncurses
编译的,并且完全使用ncurses
来确定何时使用颜色;我无法让它转储颜色输出。
我尝试了lynx -dump somefile.html < <( echo -n qj) > out; cat out
及其变体,但无济于事。只是让你知道这也行不通。所以除非你破解ncurses
...但是安装elinks
可能又不那么麻烦了。 ;)以上是关于Html 到 ansi 彩色终端文本的主要内容,如果未能解决你的问题,请参考以下文章