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
CtrlVEsc