LINUX.ORG.RU
ФорумAdmin

заменить строку sed

 ,


0

1

доброго времени суток , подскажите плиз) как заменить нужную строку в виртуал хосте nginx ? там есть такая строка :

proxy_pass http://любой_ip:любой_порт; #какой то коммент

нужно заменить ип или хоть уже всю строку...что бы подставить другой адрес....кто делал такое?зарание благодарен.!


Ответ на: комментарий от legolegs

пробовал...

sed -i 's/proxy_pass http://111.111.111.111:3333"/новая/'
sed: -e выражение #1, символ 23: неизвестный модификатор к `s'

echo_
() автор топика
Ответ на: пробовал... от echo_

Дык нельзя менять строку, где присутствует разделитель(в твоём случае - /) команды без эскейпинга

В твоём случае проще заменить разделитель:

sed -i 's;proxy_pass http://111.111.111.111:3333";новая;'

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Когда полное и конкретное решение дают непятизвёздочные, то их можно понять, они звёзды зарабатывают. Но чем движет это делать пятизвездочных? Чтобы контингент не умнел, не тренировал черепной ганглий? Вот зачем было давать последнюю строку? ;) да ещё не факт, что там первые двойные кавычки не затерялись...

vodz ★★★★★
()
sed -i "s|.*proxy_pass.*|new_proxy_pass http://111.111.111.111:3333|" /path/to/file
nvl ★★★
()
Ответ на: комментарий от beastie

FYI: вместо разделителя '/' можно использовать любой символ.

Вы в самом деле думаете, что я не этого не знаю? Там было объяснение проблемы и один из универсальных способов принципиального решения. Замена на другой разделитель — своего рода костыль, пусть и хороший, но решающий только задачу заменить строку, содержащую определённые символы.

vodz ★★★★★
()
Ответ на: комментарий от beastie

Суть замечания vodz в том, что не стоит давать слишком много рыбы и слишком мало удочки, т.е. в данном случает твой ответ полезнее для мозга вопрошающего, чем ответ Pinkbyte.

legolegs ★★★★★
()
Ответ на: комментарий от vodz

Когда полное и конкретное решение дают непятизвёздочные, то их можно понять, они звёзды зарабатывают. Но чем движет это делать пятизвездочных?

Там того «решения» для человека, кто это уже делал - 2 секунды работы мозга. Мне не жалко

да ещё не факт, что там первые двойные кавычки не затерялись...

А вот гадать какие входные данные у ТСа на самом деле я не обязан - это уже пусть у него голова болит

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

А вот гадать какие входные данные

Эк, вот тебе и на... Я же тонко намекнул, что это вы промахнулись и кавычки взяли у неправильного, приведенного выше решения.

vodz ★★★★★
()
Ответ на: комментарий от nvl

А что эти ★ значат? От чего зависят?
И что такое Score:? И от чего зависит?

Звёзды — количество скора в сотнях единиц.
Скор — показатель относительно невредной активности на форуме, за вредную скор снимают. Влияет мало на что.
Правила форума почитай.
P. S. А про «они звёзды зарабатывают» — не всем это надо, есть особая порода спортсменов специальной олимпиады. Есть и те, кто просто помогает/спрашивает/общается.

massimus ★★★
()
Последнее исправление: massimus (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.