bash sed заменяет текст между двумя специальными символами - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь создать задание, которое потребует замены переменной в две строки:

hosts: all-qa1:&load_balanced_servers
hosts: all-qa1:!load_balanced_servers

Мне нужно будет заменить все только после - и до :.

Он будет заменен на строки типа qa, qa1, qa2, постановка, постановка и т. Д. c.

1 Ответ

0 голосов
/ 08 апреля 2020

Преобразование моего комментария в ответ, чтобы решение было легко найти для будущих посетителей.

Вы можете использовать эту простую команду sed:

sed "s/-[^:]*:/-$var:/" file

или еще:

sed -E "s/-([^:]+):/-$var:/" file

Код демонстрации

...