expressão regular: não contendo string

0

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ó)

    
por mohamed wael thabet 31.03.2017 / 17:33

2 respostas

2

Uma maneira de fazer isso:

sed '/domino/! s/platform1-.*:platform/platform1-06:hybrisb/g' file

/domino/! seleciona linhas que não correspondem a domino .

    
por 31.03.2017 / 18:49
0

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
    
por 31.03.2017 / 18:10