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