sed, grep y mv para arreglar las referencias en un sitio

Suelo hacer favores de informática a familiares y amigos en la medida de lo posible y lo interesante que puedan aparentar ser los problemas. Nada de  instalar antivirus o Windows, siempre me hago “el loco”. Me pidieron subir un sitio a un FTP, me entregaron las credenciales y fuentes del sitio, el problema es que había sido “programado” (diseñado) con photoshop y dreamweaver y las referencias a las img hacían referencia a un directorio con nombre “Imágenes” que al ser codificado dentro de peticiones HTTP se cambiaban por “Im%E1genes” y terminaban por hipervínculos rotos.

Eran muchas las referencias por modificar como para cambiarlas a mano así que usé:

  • grep para buscar ocurrencias de la palabra.
  • sed para modificar dichas ocurrencias.
  • find para recorrer los archivos html.
  • mv para cambiar el nombre a los directorios.
  • perl en un pequeño one-liner para hacer match con caracteres no ascii.

Acá están los comandos usados:

Renombrar directorios Imágenes por img:

for dir in $(ls folderA); do mv -v folderA/$dir/Imágenes folderA/$dir/img; done;
for dir in $(ls folder\ conEspacio/); do mv -v folder\ conEspacio/$dir/Imágenes folder\ conEspacio/$dir/img; done;

Cambiar las referencias a “Imágenes” por “img” en los archivos .html

dos2unix */*/*.html
find . -name “*.html” -print | xargs sed -i “s/Imágenes/img/g”
find . -name “*.html” -print| xargs sed -i “s/Imágenes/img/g”
perl -i.bk -pe ‘s/Im[^[:ascii:]]genes/img/g;’

Me quitó una hora de mi vida encontrar la manera de hacer match con “Im�genes” pero al final “Im[^[:ascii:]]genes” lo hizo

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: