Quiero reemplazar "1/1" con "1/2" en todos los archivos de un directorio
Lo intenté
find . -type f -exec sed -i "s/1/1/1/2/g" {} +
y consiguió
sed: -e expression #1, char 6: unknown option to `s"
¿Qué estoy haciendo mal? ¿Cómo usar esto cuando necesito reemplazarlo con un patrón que contenga "/"?
Gracias por adelantado
Respuestas
0 para la respuesta № 1El sustituto(s
) El comando tiene barras diagonales que lo delimitan. Su formato es:
s/pattern/replacement/flag
La pregunta real aquí es cómo abordaría las barras diagonales que aparecen en su patrón. Puedes escapar de las barras diagonales en tu patrón Cuál es el sucio forma de hacerlo
por suerte sed
permite diferentes delimitaciones para s
comando para que pudieras hacer algo como
find . -type f -exec sed -i "s#1/1#1/2#g" {} ;
Aquí note el uso de #
como el delim para s
lo que le ayuda a evitar una afluencia de barras invertidas en su sustitución.