如何为特定字符序列更改bash输出的颜色
我正在做一个项目,在这个项目中,我从终端启动一些服务器,当不同的事件发生时(轮询消息、API调用等),它会显示所有服务器日志。我正在测试一些新的特性,需要观察这些日志(很快),以确保一切都在正常工作。我想知道是否有可能对通过的某些消息进行颜色编码,以便我能更快地识别它们如何为特定字符序列更改bash输出的颜色,bash,colors,Bash,Colors,我正在做一个项目,在这个项目中,我从终端启动一些服务器,当不同的事件发生时(轮询消息、API调用等),它会显示所有服务器日志。我正在测试一些新的特性,需要观察这些日志(很快),以确保一切都在正常工作。我想知道是否有可能对通过的某些消息进行颜色编码,以便我能更快地识别它们 例如,我想确定在哪里进行了特定的API调用。类似于“INFO:root:default:PUT/api/v0.1/Something/Something/mashedpatoms”。有没有可能在消息通过时更改其颜色?您可以使用A
例如,我想确定在哪里进行了特定的API调用。类似于“INFO:root:default:PUT/api/v0.1/Something/Something/mashedpatoms”。有没有可能在消息通过时更改其颜色?您可以使用ANSI转义码来执行此操作
Black 0;30 Dark Gray 1;30
Red 0;31 Light Red 1;31
Green 0;32 Light Green 1;32
Brown/Orange 0;33 Yellow 1;33
Blue 0;34 Light Blue 1;34
Purple 0;35 Light Purple 1;35
Cyan 0;36 Light Cyan 1;36
Light Gray 0;37 White 1;37
然后像这样使用它:
PURPLE='\033[0;35m'
NC='\033[0m' # No Color
echo "${PURPLE}INFO:root:default: PUT /api/v0.1/something/something/mashedpotatoes${NC}\n"
它以紫色打印。我不确定这是我要找的,但如果我错了,请纠正我。听起来我必须把它添加到日志源中?我基本上是在寻找可以添加到.bash_配置文件中的内容,它将在日志出现时解析日志,如果它们与我的字符序列匹配,则将其着色。如果我要将此添加到我的.bash_配置文件中,我想这只会在打开终端时打印该序列。@Mike您可以在读取日志时通过sed、awk等将这些代码添加到输出中,以在屏幕上显示它们。最好使用
tput
获取这些颜色的代码,而不是硬编码它们。没有任何东西可以保证这些代码对于给定的终端是正确的。在我的情况下,echo-e
是可能重复的