shap3n
@shap3n
ASP .NET Developer

Как экранировать символ $ (доллар)?

Приветствую.
Кто может подсказать как экранировать символ $ (доллар) в терминале Linux с использованием sed?
Изначально по незнанию выполнил команду
find -type f -name \*.php -exec sed -i -r "s/'lead_domain' => $url/'lead_domain' => substr($url, 0, 100)/g" {} \;

И у меня вышло что $url уполз в конец строки и получилось "'lead_domain' => substr(, 0, 100)$url"
Потом я использовал
find -type f -name \*.php -exec sed -i -r "s/'lead_domain' => \$url/'lead_domain' => substr(\$url, 0, 100)/g" {} \;

но эта команда не срабатывает. Как правильно написать, чтобы выполнилась?
  • Вопрос задан
  • 447 просмотров
Пригласить эксперта
Ответы на вопрос 2
@MirG
Попробуйте два слеша перед долларом
Ответ написан
@Zerg89
find -type f -name \*.php -exec sed -i -r 's/lead_domain => $url/lead_domain => substr($url, 0, 100)/g' {} \;


А вообще не совсем понятно что нужно получить в результате($url должна резолвится внутри самого файла или во время выполнения скрипта?)

Ps и разберись наконец чем отличается '' от ""
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽