У меня есть куча виртуальных машин, которые я развертываю снова и снова в большой автоматизированной тестовой среде. Каждая виртуальная машина после развертывания записывает свое имя хоста в /etc/hosts
.
127.0.0.1 XXXX-testbot-XXX
Когда он будет развернут, я хочу заменить «xxxx-testbot-xxxx» на «yyyy-testbot-yyyy».
Фактически, в зависимости от развертывания, имя хоста может даже быть DDDD-SSSS-EEE-testbot-XYXXY "
Я ищу что-то, как найти слово с "testbot" и заменить на новое значение
Я попробовал это:
x="garn13-testbot-15"
sudo sed -i "s/\*\(testbot)*\).*/$x/g" /etc/hosts
Но это просто заменит совпадение самого «тест-бота»:
Before:
127.0.1.1 garn13-testbot-12
After:
127.0.1.1 garn13-garn13-testbot-15