Se você usar .*.domain1.com
como seu padrão, corresponderá essencialmente a caracteres indesejados, porque .
significa qualquer caractere .
Você deseja substituir apenas "caracteres de palavra" (letras ASCII, dígitos ou sublinhados) usando \w+
.
Como normal sed
regex não sabe sobre +
, certifique-se de adicionar -r
para sed
para usar regex estendido.
Certifique-se também de usar aspas! Caso contrário, *
pode ser interpretado por bash.
E você deve escapar de .
no padrão, caso contrário, ele também corresponderá a qualquer caractere.
sed -i.bak -r 's/\w+\.domain1\.com/domain2.com/g' file