Primeiro, sed 's/\us/…/'
não pesquisa por \us
;
ele procura por us
.
Para procurar \us
, você precisa usar sed 's/\us/…/'
.
Se você estiver procurando por uma string com caracteres especiais,
e então adicionando algo a ele,
uma técnica útil é usar o caractere &
para se referir à string que você pesquisou. Então, por exemplo,
$ sed -i 's/\us/&X/' test
Em geral, &
(às vezes chamado de "Localizar o que") representa a parte do espaço de padrão que correspondeu à sua string de pesquisa.
Isso é mais útil quando a string de pesquisa é uma expressão regular não simples; por exemplo,
$ echo You say goodbye and I say hello. | sed 's/[gh][a-z]*[eo]/"&"/g'
You say "goodbye" and I say "hello".
Assim como 's/\usmthing/…/'
é a maneira de pesquisar por \usmthing
,
você precisa usar 's/…/\usmthing/'
para inserir \usmthing
.
Por exemplo,
$ echo Boo | sed 's/oo/\ulish/' BLish ← Note that \ul was interpreted to mean "put ‘l’ into upper case". $ echo Boo | sed 's/oo/\ulish/' B\ulish