2016-10-29 2 views
0

мне нужно заменить followin параметры в файле конф:Как заменить тексты в конф файле

DocumentRoot /var/www/html 

Мне нужно установить /var/www/html в /var/www/www.something.ee

www.something.ee переменная $WEBPAGE

до сих пор у меня есть это:

sed -i "s/DocumentRoot /var/www/html /DocumentRoot /var/www/$WEBPAGE/g" /etc/apache2/sites-available/$WEBPAGE.conf

Однако, поскольку он содержит слэши, команда не хочет запускаться. Полагая апостроф вокруг них, кажется, не хотят работать:

не удалось открыть файл WW/html «/» DocumentRoot /var/www/www.something.ee'/g: Нет такого файла или каталога

Любые идеи?

ответ

3

с СЭДОМ вы можете пользователь любого разделителя ...

sed '[email protected]@[email protected]' 
sed 's#oldText#newText#g' 

так, если / вас беспокоит, используйте другой разделитель.

+0

Ok, это не дает ошибку больше, но я не могу заставить его сохранить в файл конф, в файле конф еще есть старая информация. – rauno45

+1

Получил его на работу, проблема была в дополнительной пробел, которая не нужна. – rauno45

1

Вы можете использовать разделитель, отличный от косой черты. Вам также не нужно вариант г, как не существует несколько вхождений поиска

sed -i "s!DocumentRoot /var/www/html !DocumentRoot /var/www/$WEBPAGE!" /etc/apache2/sites-available/$WEBPAGE.conf 
Смежные вопросы