sed вставить строку, после искомой строки

Возникла необходимость, в конфигурации стапитцот виртуалхостов nginx добавить кеширование, вспомнил про sed и решил сделать все это с его помощью. Основные настройки кеширования вынес в отдельный файл /etc/nginx/cache.conf и после решил инклудить его в конфиг файле виртуалхостов с помощью команды:
go to 1;


sed '/proxy_pass/a include /etc/nginx/cache.conf;' nginx.conf>nginx.conf.tmp

т.е. после строки в конфиге proxy_pass будет добавлена наша строка с инклудом файла.
Все что останется, заменить файл конфига тем что мы создали:


mv nginx.conf.tmp nginx.conf

и передернуть nginx, предварительно протестировав конфиг:


nginx -t

рестарт:


/etc/init.d/nginx restart

1: Кстати, никто не забыл, что всегда надо делать бекап файлов перед тем как вносить изменения?


cp nginx.conf nginx.conf.bac

P.S. super sed
Подробнее в мануале SED на русском языке

Оцените статью
( Пока оценок нет )

Добавить комментарий