Como substituir string por abc \\ efg [255 com abc \\ efg [23 usando sed

1

Eu tenho um arquivo e as linhas começam com abc . Como posso substituir a string abc\efg[255 por abc\efg[28 usando sed ?

    
por Gijo 12.02.2015 / 14:27

3 respostas

0

Você não mostra o que tentou, então não sei qual parte está causando o seu problema. Presumivelmente, o problema é que você acha que sed está sufocando em \ s e [ . Esses caracteres especiais precisam ser evitados adicionando um \ antes deles. Então, para obter um literal \ , você precisa escrever \ (e usar simples citações).

Isso deve funcionar:

sed 's/^abc\\efg\[255/abc\\efg\[28/' file

Como deveria

sed 's/^\(abc\\efg\[2\)55/8/' file
    
por 12.02.2015 / 18:17
0
sed -r -i 's/^abc\{2}efg\[255/abc\\efg\[28/' file
O argumento

-i faz as alterações reais no arquivo

    
por 15.02.2015 / 03:26
-1
printf '%s\n' 'abc\efg[255' | sed '/^abc/s/55/8/'

saídas

abc\efg[28
    
por 12.02.2015 / 14:47

Tags