Uma maneira de fazer isso:
sed '/domino/! s/platform1-.*:platform/platform1-06:hybrisb/g' file
/domino/!
seleciona linhas que não correspondem a domino
.
Eu tenho duas strings:
string1: platform1-05_02_00.001:platform
string2: platform1-domino-05_02_00.001:platform
no primeiro, a versão ( 05_02_00.001
) deve ser alterada, primeiro tentei a expressão regular:
sed -i 's/platform1-.*:platform/platform1-06:hybrisb/g' file
mas altera as duas sequências. É por isso que eu estou procurando por algum regex para dizer ao sed para procurar a string onde o não é "dominó" (não contendo dominó)
Uma maneira de fazer isso:
sed '/domino/! s/platform1-.*:platform/platform1-06:hybrisb/g' file
/domino/!
seleciona linhas que não correspondem a domino
.
Considere ignorar linhas que contenham "domino de plataforma" com o comando n
:
sed '/platform1-domino/ n; s/platform1-.*:platform/platform1-06:hybrisb/g' file
Ou pesquise e substitua, mas elimine as letras como possibilidades para a partida:
sed 's/platform1-[^d][^o][^m][^i][^n][^o].*:platform/platform1-06:hybrisb/g' file
Tags sed regular-expression