linux - 使用 cat 命令显示颜色
问题描述
我尝试在 Bash 中创建一个日志文件。我想要彩色文本(绿色表示好消息,黄色表示警告等)我正在使用控制台代码。当我在终端中执行命令时:
echo -e "\033[1;31m Some text here \033[0m"
我有一个很好的输出。我的文字是彩色的。当我想在文件中放入这样的一行时,问题就开始了。我将一行:\033[1;31m Some text here \033[0m
放入文件中。然后我使用cat
命令打开了这个文件。输出是:
\033[1;31m Some text here \033[0m
这与我在文件中输入的行完全相同。不显示颜色。是否可以使用命令 cat 显示彩色文本(控制台代码)?我做错了什么?谢谢你的帮助!
解决方案
是否可以使用命令 cat 显示彩色文本(控制台代码)?
当然。即使与echo -e "\033[1;31m Some text here \033[0m" | cat
.
我做错了什么?
您期望cat
将替换\033
(4 个字符\
0
3
3
)替换为一个字节 0x1b。cat
不是tr
,它不做翻译。如果您希望 cat 输出某些内容,请在文件中输出相同的内容。不要在文件中输入\033
(4 个字符),而是在十六进制编辑器中打开文件并将字节设置为 0x1b(或通过其他方式......只是echo -e "\033[1;31m Some text here \033[0m" > file
......)。
而且,它不是正确的,echo
也不cat
是显示彩色文本。将字符转换为颜色的是您的终端 -echo
并且cat
仅输出字节。
推荐阅读
- azure - Azure Service Fabric - 如何配置容器被强制终止之前的时间间隔
- mysql - MySQL上出现此错误1241的原因可能是什么
- javascript - 这里地图自动缩放以适合所有标记
- javascript - 嵌套 App.post 和 App.get,好做法还是坏主意?
- pine-script - tradingview:Pine 无法确定系列的参考长度。尝试使用 max_bars_back
- c++ - std::set 用于双精度值的自定义比较函数。插入()不起作用
- mongodb - 无法将数据从我的独立实例导入 MongoDB atlas 集群
- powershell - Powershell:在一个属性上获取唯一性,同时对两个属性进行排序
- amazon-web-services - AWS EC2 上的 Gitlab Runner 自动缩放 - 无法生成实例
- sql - 如何在 GROUP BY 语句中排除唯一属性