...

Cambiar nombre de archivos recursivamente

Aunque es una tarea sencilla y hay múltiples métodos que se pueden usar, siempre que necesito renombrar de una gran cantidad de archivos tengo que recurrir a San Google para hacerlo. Por esto prefiero dejar este artículo como recordatorio para mi y para algún otro despistado como yo.

En general me pasa con archivos de imagen, como jpg. Las cámaras, celulares y otros generadores de imágenes se empeñan en utilizar mayúsculas para las extensiones de los archivos de fotos y, aunque debe ser un TOC ¡me molesta! Por eso, para hacer cambiar recursivamente todas las extensiones de .JPG a .jpg podemos usar:

for file in *.JPG; do mv "${file}" "${file/.JPG/.jpg}"; done

Del mismo modo, podemos cambiar una parte del nombre que queramos, por ejemplo si hubiésemos hecho una conversión de extensión bmp a jpg con la utilidad convertde ImageMagick con el comando:

find . -name "*.bmp" -type f -exec convert '{}' '{}'.jpg \;

nos habrán quedado archivos con nombres que incluyen ambas extensiones, algo como imagen.bmp.jpg. Para eliminar la cadena .bmp del nombre de todos los archivos afectados podemos ejecutar:

for file in *; do mv "${file}" "${file/.bmp/}"; done

 

Seraphinite AcceleratorOptimized by Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.