2012-02-17 3 views
3

У меня есть небольшая проблема.

Я пытаюсь заменить строку (ну строку) переменной $ в файле.

Поэтому я использую следующую команду:

sed -i -e "s/conf .*/conf = $PATH_CONF/g" generals.conf 

Если PATH_CONF не содержит SPECIALS символы, такие как "/", это работает.

Но PATH_CONF содержит путь (./Домашний/и т.д.), поэтому он имеет несколько «/», то я получил ошибку:

bad flag in substitute command: 'h' 

Так как я должен сделать, чтобы иметь SPECIALS символы в моих переменных $ ?

спасибо.

ответ

8

Try:

sed -i -e "[email protected] .*@conf = [email protected]" generals.conf 

Вам нужны одинаковые символы в качестве разделителей (здесь @), а не три/с обязательно.

+0

wow nice, не знал об этом. – AoeAoe

+0

спасибо большое, не знал ни –

Смежные вопросы