Eu tenho que substituir (
por algum caractere no meu arquivo e não posso fazer isso. \(
é usado para agrupar no sed e quando eu usei \\(
com o sed, ele o tratou como \(
personagem, não como justo (
. Parece um caso complicado para mim.
27
tr
(anslate):echo 'Hello (world)' | tr '()' '[]'
; ele geraHello [world]
.Respostas:
Se você usar sed sem
-r
(expressões regulares estendidas), ele funcionará como em\(\)
vez de()
agrupar:Por exemplo
Se você quiser usar,
-r
pode colocar(
dentro[]
, por exemploComo observa Lekensteyn, o uso
tr
pode ser mais apropriado, pois você está apenas substituindo e não precisa de todo o poder das expressões regulares.fonte
grep -lRZ " split(" . | xargs -0 sed -i -e 's/ split(/ explode(/g'