У меня есть доступный инвентарь, который мне нужно удалить все случаи, начинающиеся с site2-
.
Например, у меня есть список, который включает группы с именами:
[site2-static-web]
site2-ansible
site2-accounts
site2-admin
site2-analytics
site2-audit
site2-botruntime
site2-campaigns
site2-config
site2-coupons
site2-edge
site2-minio
site2-permissions
site2-registry
site2-surveys
site2-websockets
site2-amc-server
site2-static-web
site2-elasticsearch
site2-logstash
site2-kibana
site2-keycloak
site2-pgsql
site2-mysql
site2-rabbitmq
site2-redis
site2-zipkin
Я попытался sed -i.bak 's/site2-*///g' mmp_default
но все, что меня достало, было site2
удалены с оставленными концами.
site2-ansible
site2-accounts
Стало:
ansible
accounts
Как мне это сделать правильно?
$ sed '/ansible\|accounts/ !d ; s/site2-//' toto
ansible
accounts
$
поэтому я сначала выбираю совпадающие строки в словах, которые мне нужны, разделенные \ | потом только вырезал бесполезное слово site2-. Вы все еще можете добавить -i.bak при необходимости