如何打印彩色文本图案?

如何打印彩色文本图案?
RED='\033[0;31m'
NC='\033[0m' # No Color
var='I /love Stack Over/flow'

我正在尝试使用正则表达式以彩色打印一部分文本,但它不起作用。

 echo $var | sed "s=\(.*/\)\(.*\)=\${RED}\2\${NC}="

输出 :

${RED}flow${NC}

答案1

eval如果有许多其他方法可以完成该任务,我不会提出使用

RED='\\033[0;31m'
NC='\\033[0m' # No Color
echo -e "$(sed "s=[^/]\+$=${RED}&${NC}=" <<<$var)"

由于\内部使用sed你应该逃跑转义字符-\\Esc单独使用按Ctrl+V后接Esc

相关内容