[Mac / Terminal] Я пытаюсь заменить слова в предложении их красными версиями. Я пытаюсь использовать sed, но он не выводит результат в формате, который я ожидаю. т.е.
for w in ${sp}; do
msg=`echo $msg | sed "s/$w/\\033[1;31m$w\\033[0m/g"`
done
Результат:
033[1;31mstb033[0m 033[1;31mshu033[0m 033[1;31mkok033[0m
где $ sp - список подмножества слов, содержащихся в $ msg
желаемый результат будет выглядеть так:
\033[1;31mstb\033[0m \033[1;31mshu\033[0m \033[1;31mkok\033[0m
и тогда я надеюсь, что эхо -е правильно интерпретирует это и покажет красную окраску. Однако до сих пор я, похоже, не совсем правильно понимаю, как sed работает для достижения этой цели.