viernes, 10 de julio de 2015

Programa en Shell para renombrar archivos (Linux)

En ocasiones necesitamos trabajar con grandes volúmenes de archivos y los nombres de estos pueden influir en gran medida con lo que deseemos hacer.

Cambiar los nombres de los archivos que se encuentran dentro de un determinado directorio es una tarea sencilla para cuando se habla de volúmenes pequeños, pero ya cuando se excede los 50 archivos, es una tarea que puede parecer hasta imposible por el nivel de fuerza de voluntad que exige ( después del re-nombramiento 50 buscas cualquier pequeña excusa para dejar de hacerlo, lo digo por experiencia propia). 

Así que ahora mostrare como hacer un archivo .sh para que en linux esto sea una tarea simple.
cont=25
for archivo in *.png; do
 mv "$archivo" "$cont.png"
 let cont+=1
done

Explicando, el código:
  •  cont es una variable entera que se incrementa de uno en uno dentro del cilco for.
  • *.png hace referencia a los nombres de archivos dentro del directorio que terminan con .png
  • mv comando que re-nombra los archivos en turno dentro del ciclo. 
Lo que hace este pequeño script es trabajar con cada uno de los archivos que se encuentren en el directorio con la extensión ".png", y re-nombrarlos tomando como base un contador.  Si el primer archivo del directorio que entra al ciclo se llama "archivo.txt" ahora se llamara "25.png".

Guardaremos el archivo como renombraTodos.sh , sera necesario brindarle permisos de ejecución a este archivo, esto se hace con el siguiente comando:
sudo chmod a+x renombraTodos.sh

Y para ejecutar este comando:
./renombraTodos.sh

Y les cambiara los nombres de sus archivos dentro del directorio donde se encuentren, espero les sea util este script, no duden en publicar sus dudas, pasen un buen día.


No hay comentarios:

Publicar un comentario