/ / desea reemplazar "1/1" por "1/2" con sed [duplicar] - sed, reemplazar

desea reemplazar "1/1" por "1/2" con sed [duplicar] - sed, reemplazar

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 № 1

El 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.