Tengo que reemplazar (con algún carácter en mi archivo, y no puedo hacerlo. \(se usa para agrupar en sed y cuando lo usé \\(con sed, lo trató como \(personaje, no solo como (. Parece un caso complicado para mí.
Si quieres usarlo -rpuedes ponerlo (adentro [], ej.
sed -re 's/[(]/X/g'
Como comenta Lekensteyn, el uso trpodría ser más apropiado, ya que simplemente está reemplazando y no necesita todo el poder de las expresiones regulares.
Utilicé esto para reemplazar la "división" obsoleta de php con la función "explosión", asegurándome de que "división" esté precedida por un espacio y seguido de un "(".grep -lRZ " split(" . | xargs -0 sed -i -e 's/ split(/ explode(/g'
tr(anslate):echo 'Hello (world)' | tr '()' '[]'; SalidasHello [world].Respuestas:
Si usa sed sin
-r(expresiones regulares extendidas) funcionará como se usa en\(\)lugar de()para la agrupación:Por ejemplo
Si quieres usarlo
-rpuedes ponerlo(adentro[], ej.Como comenta Lekensteyn, el uso
trpodría ser más apropiado, ya que simplemente está reemplazando y no necesita todo el poder de las expresiones regulares.fuente
grep -lRZ " split(" . | xargs -0 sed -i -e 's/ split(/ explode(/g'