我有一个 ansible 库存,我需要删除所有以 开头的案例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
我怎样才能正确地做到这一点?
答案1
$ sed '/ansible\|accounts/ !d ; s/site2-//' toto
ansible
accounts
$
所以我首先选择匹配的行,这些行由 \| 分隔,然后我才删除无用的单词“site2-”。如果需要,您仍然可以添加 -i.bak