Парсинг и обработка файлов конфигов средствами BASH
Имеются файлы конфигов OpenVpn, содержащие в себе такие строки:
- <connection>
- remote 192.168.255.1 1191
- proto tcp
- socks-proxy-retry
- socks-proxy 127.0.0.1 1080
- </connection>
- <connection>
- remote 192.168.254.1 1191
- proto tcp
- socks-proxy-retry
- socks-proxy 127.0.0.1 1080
- </connection>
- <connection>
- remote 192.168.245.1 1191
- proto tcp
- socks-proxy-retry
- socks-proxy 127.0.0.1 1080
- </connection>
Стоит задача автоматически добавить или удалить блок <connection> ... </connection> с заданным адресом. Добавление блока реализовал без проблем, но застопорился на удалении блока... С помощью sed -n «/connection/,/\/connection/p» /etc/openvpn/client/clientsconfig/$client_name я могу выделить все блоки - подскажите, как отфильтровать нужный блок (допустим, содержащий адрес 192.168.254.1) из выше приведенного списка ну и удалить его?