Cambiar carácteres en los nombres de archivos con Bash shell

Ayer me ví con el problema de renombrar una carpeta de más de dos mil archivos. Tenía que quitar los espacios en blanco de los nombres de los archivos.
Como hacerlo a mano podría convertirse en un suicidio, me puse a investigar como hacerlo con un shell script.
Si tienes un problema parecido, puedes solucionarlo creando el archivo renombrar.sh dentro de la carpeta donde están los archivos a renombrar y le añades las siguientes líneas:

for filename in *.htm;
do
touch "$filename"
mv "$filename" `echo "$filename"|sed 's/ /_/g'`
done

En mi caso son archivos .htm y quiero sustituir los espacios en blanco por la barra baja '_', para ello usamos el comando sed. Con el comando mv cambiamos el nombre antiguo por el nuevo sin espacios.

Para ejecutar nuestro archivo basta con usar 'sh renombrar.sh' desde la línea de órdenes en nuestra shell.

Espero que os sirva de ayuda.
Cambiar carácteres en los nombres de archivos con Bash shell Cambiar carácteres en los nombres de archivos con Bash shell Reviewed by Unknown on 19:41 Rating: 5

1 comentario:

  1. Pásalo lo mejor posible antes de poner el pie en ese nuevo número 11...
    Eres como una caja de *pandora*siempre a mano...

    ResponderEliminar

Con la tecnología de Blogger.