有没有办法在控制台中查看导出的彩色日志(带颜色)?
我的程序使用颜色编码来处理错误,警告等。如果我将程序的输出重定向到file.log,我会得到如下记录:
[32m [1m(INF)[0m /环境/转换器:州地图:[2,3,4,5,6,7,8,11,12,13,14,15,16,17,18] ] [0米
[32m [1m(INF)[0m /环境/转换器:行动图:[-1,-1,-1,0,1,2,3,4,5] [0m
[32m [1m(INF)[0m PyEnv:观察暗淡:15 [0m
[32m [1m(INF)[0m PyEnv:行动暗淡:6 [0m
随机种子无
[32m [1m(INF)[0m GRL种子1428 [0m]
现在我想看看file.log,但没有颜色代码,甚至更好地保留了颜色。
我尝试过nano,vi和gedit,但他们都没有做我想做的事。
答案 0 :(得分:0)
如果您仍然想找到一种实现此目标的好方法,以下是一些想法。
cat
可以工作,因为它可以解释颜色代码。但是,存储颜色的方式首先没有正确设置。我不确定您如何将其写入日志文件,但我回显了您的示例并将输出重定向到文件中。我也没有看到颜色。原因是您必须转义每个方括号才能使Bash解释代码。
所以我对转义符进行转义的方法是在每个方括号之前手动添加\ e并使用echo -e来评估转义符:
`echo -e "\e[32m\e[1m(INF)\e[0m /environment/converter: State map: [ 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 18 ]\e[0m`
`\e[32m\e[1m(INF)\e[0m /environment/converter: Action map: [ -1, -1, -1, 0, 1, 2, 3, 4, 5 ]\e[0m`
`\e[32m\e[1m(INF)\e[0m PyEnv: Observation dims: 15\e[0m`
`\e[32m\e[1m(INF)\e[0m PyEnv: Action dims: 6\e[0m`
`Random seed None`
`\e[32m\e[1m(INF)\e[0m GRL seed 1428\e[0m " > example.txt`
现在,当我使用cat
打开文件时,我看到了正确着色的文本:
现在,颜色代码已正确存储并转储到.txt文件中:
^[[32m[1m(INF)[0m GRL seed 1428^[[0m
与
[32m[1m(INF)[0m GRL seed 1428[0m
它将产生HTML而不是纯文本。然后,您可以在浏览器中打开输出,它将具有正确的颜色编码。
但是,您将遇到同样的问题。如果未正确转义颜色代码,则输出将不会被着色。
我运行了以下命令,将格式正确的文本转换为HTML:
aha -f example.txt > example.html
这是浏览器中的结果:
您可以在此Bash Tips article中找到有关如何在bash中使用颜色的更多信息。