Renombrado masivo con MMV

Autor: Armonth | El viernes 15 de septiembre del 2006 @ 20:02.

Un apunte rápido para Lii que me pidió un método rápido para renombrar múltiples ficheros usando la consola de comandos de GNU/Linux. Aunque existen varios programas (rename, mmv, etcétera) yo me quedo con MMV entre otras cosas por su soporte de patrones (wildcards).

La sintaxis inicial, es muy sencilla,supongamos que tenemos una cámara de fotos:

ls
dcim_001.jpg dcim_002.jpg dcim_003.jpg dcim_004.jpg

Y queremos ponerlo en un formato más "humano". Todas las fotos están hechas hoy. Por lo que vamos a poner un patrón en el MMV para renombrar todas las fotos:

mmv "dcim_*.jpg" "2006-09-15.#1.jpg"
ls
2006-09-15.001.jpg 2006-09-15.002.jpg 2006-09-15.003.jpg 2006-09-15.004.jpg

Básicamente todo lo que haya entre dcim_ y .jpg (que en el ejemplo son la secuencia: 001, 002, 003, etcétera) se guarda en el primer * y se muestra con #1. Si hubiera dos * el segundo se mostraría con #2 y así.

El comando tiene algunas reglas pero básicamente hay que tener en cuenta lo anteriormente dicho y que los dos parámetros deben ir entrecomillados ("buscar viejo nombre" "reemplazar por nuevo nombre").

Otro ejemplo (con cambio de extensión incluido):

 :::bash
 ls
 (Ibiza)-001.jpeg (Ibiza)-002.jpeg (BCN)-001.jpeg (BCN)-002.jpg

 mmv "(*)-*.jpeg" "[#1] 2006-09-15 #2.jpg"

 ls -l
 [Ibiza] 2006-09-15 001.jpg
 [Ibiza] 2006-09-15 002.jpg
 [BCN] 2006-09-15 001.jpg
 [BCN] 2006-09-15 002.jpg

Comentarios