Задать вопрос
rudenkovk
@rudenkovk
DevOps, sysadmin

Как автоматически экранировать символы в строковой переменной в shell?

Всем привет! Не подскажите имя утилитки, которая получив на вход строку, выдаст ответ ее же, но с заэкранированными символами?

например, я получаю некий URI, колдую над ним SED, соответственно сед валится с ощибкой.
  • Вопрос задан
  • 2540 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
rudenkovk
@rudenkovk Автор вопроса
DevOps, sysadmin
У меня заработало нормально вот такое решение:

function sedeasy {
  sed -i "s/$(echo $1 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')/$(echo $2 | sed -e 's/[\/&]/\\&/g')/g" $3
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Z-r
$ printf '%q\n' 'foo\bar? baz!'
foo\\bar\?\ baz\!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы