ANSIColor打印到文件

时间:2018-01-23 09:07:23

标签: perl

您好我正在尝试在终端以及文件中打印彩色文本,我使用“tee”命令打印终端中的内容必须打印在文件中。但我无法在文件中打印彩色文本,但在终端我可以打印彩色文本

这是我的代码:

#!usr/bin/perl
use Data::Dumper qw(Dumper);
use Cwd;
use Term::ANSIColor qw(:constants);
local $Term::ANSIColor::AUTORESET = 1;
open( STDOUT, "| tee -ai report.txt" );
print BOLD RED "Here your texts are colored\n";

我可以在BOLD RED中打印“这里你的文字是彩色的”,但同样的事情我无法在report.txt中打印,如果我打开报告.txt我得到[0m [0m [1m [ 32米这里你的文字是彩色的

请帮我解决这个问题

提前致谢

1 个答案:

答案 0 :(得分:2)

没有什么可以解决的。您的程序正在按预期工作。

ANSI颜色代码只是字符。您的ANSI终端配置为查找这些字符序列,并在看到它们时更改文本的颜色。无论您使用什么软件查看文件都没有这样的功能。

通常,无法在纯文本文件中对颜色进行编码,使得颜色显示在用于查看文件的任何软件中。

为了让我们得到帮助,您需要解释一下。为什么要在文本文件中添加彩色文本?