컬러 텍스트 패턴을 인쇄하는 방법은 무엇입니까?

컬러 텍스트 패턴을 인쇄하는 방법은 무엇입니까?
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넌 도망가야 해이스케이프 문자-또는 +를 누른 다음 단독으로 \\사용합니다 .EscCtrlVEsc

관련 정보