LINUX.ORG.RU

sed и квадратные скобки

 ,


0

1

Доброго времени суток!

Подскажите, пожалуйста, как сделать замену, чтобы осталось только слово test без выделения цветом?

Пример:

echo -e "\e[1;33mtest\e[0m"

Пробовал разные простые варианты:

$ echo -e "\e[1;33mtest\e[0m"|sed "s#\e[1;33m##g"
sed: -e expression #1, char 13: unterminated `s' command
$ echo -e "\e[1;33mtest\e[0m"|sed "s#[[(\e1;33m)]##g"
tst0
$ echo -e "\e[1;33mtest\e[0m"|sed -E "s#.*33m##g"|sed -E "s#[\e\[0m##g"
sed: -e expression #1, char 12: unterminated `s' command

Не выходит.

Куда копать?

Конкретно про sed уже ответили, но, скорее всего, то, что даёт тебе выхлоп в цвете, имеет флаг так не делать, если это не наколенная поделка какого-то горе одмина.

pon4ik ★★★★★ ()
Ответ на: комментарий от xaizek

Надо [ экранировать.

Большое спасибо Ваш вариант работает, корректно.

К сожалению, не совсем разобрался с экранированием квадратных скобок с \e.

ameame2021 ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей