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

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

Поделись с друзьями:

Опубликовано 09.10.2014 в 13:34 · Автор komivlad · Ссылка
Рубрики: ArchLinux, CentOS, Debain, Fedora, FreeBSD, Linux Mint, ProxMox, Raspberry Pi, Ubuntu · Теги: , , , , ,

Один комментарий

Подписаться на комментарии по RSS

  1. Написал(-а) Costic
    08.10.2016 в 08:12
    Ответить · Ссылка

    sed -i.bak '/proxy\_pass/a include \/etc\/nginx\/cache.conf;\n' nginx.conf

    так кошернеее

Подписаться на комментарии по RSS

Написать комментарий