¿Reemplaza imágenes\(.*)" con imágenes/\1" en todos los archivos?

¿Reemplaza imágenes\(.*)" con imágenes/\1" en todos los archivos?

¡Tengo un montón de archivos html y todas las etiquetas img tienen barras diagonales incorrectas!

Aquí hay un ejemplo (excepto que es una línea en el código, dividida aquí para facilitar la visualización)

<a href=index.html><img src="images\homereg.png" /></a>
<img src="images\spacer.png" />
<a href=dogs.html><img src="images\dogsreg.png" /></a>
<img src="images\spacer.png" />
<a href=litters.html><img src="images\littersreg.png" /></a>
<img src="images\spacer.png" />
<a href=bredby.html><img src="images\bredbyreg.png" /></a>
<img src="images\spacer.png" />
<a href=contact.html><img src="images\contactreg.png" /></a>

Mi problema con lo que he probado hasta ahora es que sed es codicioso, por lo que coincide demasiado y no lo reemplaza adecuadamente. Algo como sed -i 's|images\\\(.*\)\"|images/\1\"|g' *reemplazará uno por línea, coincide demasiado. He probado algunas otras cosas, pero todas en la misma línea que esta.

¿Cuál es la solución más sencilla? No estoy limitado a sed, simplemente lo conozco mejor, así que es lo que he probado.

Respuesta1

Comprueba si esto funciona para ti

sed "s/images\\\/images\\//g"

Respuesta2

No utilices expresiones regulares. Simplemente reemplace todas las apariciones de images\con images/.

Todos los editores de texto básicos deberían admitir eso.

Si quieres usar sed:

sed 's|images\\|images/|g' filename.html

información relacionada