Comandos interesantes, rename

En alguna ocasión a todos nos ha pasado que tenemos que renombrar muchos archivos, ya bien sea para sacarles una parte o para añadir algún contenido. Cuando son 10 o 15 archivos, no importa ir de uno en uno, pero si estamos hablando de renombrar 200 archivos, la cosa ya cambia. Para simplificar este trabajo, en GNU/Linux existe el comando rename, que hace de forma efectiva y muy rápida este tipo de modificaciones en los nombres de archivos.
La forma de usarlo, muy simple: rename [-v] [-n] [-f] perlexpr [filenames]
  • -v, --verbose, muestra información de lo que va realizando.
  • -n, --no-act, no realiza cambios, sólo muestra lo que haría, pero sin hacerlo.
  • -f, --force, sobrescribe ficheros en caso de coincidir el nuevo nombre.
Vamos ahora por lo tanto a ver un pequeño ejemplo de uso. Partimos de los siguientes ficheros
shell> ls
AA001.jpg   AA002.jpg
AA003.jpg   AA004.jpg
y no interesa añadirle un sufijo del nombre de la cámara que realizó las fotos, para una vez mezcladas poder identificar de forma correcta quién hizo qué fotos. Para ello, usamos rename con la expresión regular correspondiente y...
shell> rename -v 's/\.jpg$/_javier\.jpg/' *.jpg
AA001.jpg renamed as AA001_javier.jpg
AA002.jpg renamed as AA002_javier.jpg
AA003.jpg renamed as AA003_javier.jpg
AA004.jpg renamed as AA004_javier.jpg
Observamos que al llevar la opción -v, nos muestra el trabajo que está realizando a la vez que lo realiza. Ahora también nos interesa cambiar las letras mayúsculas por minúsculas, para ello, nuevamente,
shell> rename 'y/A-Z/a-z/' *
El resultado final,
shell> ls
aa001_javier.jpg   aa002_javier.jpg
aa003_javier.jpg   aa004_javier.jpg


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios