2013-06-10 4 views
-1

Я пытаюсь передать строку, содержащую специальный символ в sed.Сохранять специальный символ в sed

Как избежать символа «$»?

echo "$azerty$" | sed 's///g' 
+0

Первое, что вы должны проверить, что ваша оболочка действительно echo'ing '$ azerty $' и не пытается расширить переменную 'azerty'. – Francisco

ответ

2
$ echo "\$azerty$" | sed 's/\$/X/g' 
XazertyX 
1

Это делает это для меня (с помощью GNU SED)

% echo "\$azerty\$" | sed -r -e 's/\$//g' 
azerty 
1

Используйте одинарные кавычки, если вы хотите, чтобы отключить переменную интерполяции:

$ echo '$azerty$' | sed 's/\$/X/g' 
XazertyX 
Смежные вопросы