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