7 formas de renombrar archivos masivamente


Ya sea por gusto o necesidad, alguien puede tener archivos de audio, video, imágenes, etc. cuyos nombres no estén correctos, no se entiendan, no estén estandarizados o simplemente no le gusten y por lo tanto quiera renombrarlos a su gusto. Si son pocos, hacerlo uno a uno no es tan complicado, pero si son varios, hacerlo manualmente puede ser insoportable. Ese era mi caso, y por eso me decidí a buscar alternativas para renombrar muchos archivos a la vez. Hay una cantidad infernal de programas que hacen lo mismo. Acá les dejo una muestra de 5 opciones distintas que probé y una breve opinión de cada una:

renombrar


Linux
pyRenamer


pyRenamer es una opción bastante simple y clara. Tiene un montón de opciones para renombrar a los archivos y se puede ir previsualizando el resultado para asegurarse de que lo configuramos como queríamos. La principal contra que le encontré es que cada una de las opciones de cambio (sustitución, inserción) hay que hacerla por separado. No se pueden hacer varios cambios a la vez (o al menos no encontré cómo).

cambiar nombre


varios archivos


masivamente


GPRename es prácticamente igual a pyRenamer. Sólo tiene algunas diferencias en la presentación de las opciones.

gprename


pyrenamer


purrr


Purrr es una opción más simple pero menos amigable. Yo la encontré particularmente útil para agregar prefijos, sufijos o cambiar extensiones, pero no para reemplazar partes del nombre. Me parece que la página del autor está caída, así que ACÁ pueden encontrar más información y ACÁ unos debs (¡increíblemente no lo encontré en AUR!).

metamorphose 2


Los 4 comandos que usa son:
[n] para dejar nombre y extensión como en el original (sirve para agregar un prefijo o una nueva extensión al nombre original)
[c] para agregar números correlativos (muy útil para renombrar varios archivos que comparten una raíz en el nombre)
[e] para conservar la extensión del archivo (ya sea si se quiere asignar nombres totalmente nuevos o para combinar con el siguiente comando)
[b ] (sin el espacio después de la "b" ) para conservar todo menos la extensión (sirve si lo que se quiere es cambiar la extensión o para combinar con el comando anterior)

7 formas de renombrar archivos masivamente


renombrar
Métamorphose 2


Métamorphose 2 es la opción con la que me terminé quedando. Tiene las ventajas de poder hacer todos los cambios de una sola vez y de tener millones de opciones para renombrar a los archivos. Sin embargo, son tantas las opciones y a la vez la interfaz no está bien pulida que hacen su uso un poco más complicado que los anteriores.

Linux


Nota: para elegir las funciones con las que renombrar hay que ir a la solapa Renombrador y hacer doble clic sobre cualquiera de las operaciones disponibles. De ser necesario, se pueden repetir.

cambiar nombre


varios archivos
Modo kamikaze


Esta opción se me ocurrió pensando en que las posibilidades iban a ser infinitas (y seguro lo son), pero la verdad es que me resultó súmamente complicado. Sólo lo hice porque me lo tomé como un desafío, pero me equivoqué mil veces antes de lograrlo. La gran desventaja de esto es que hay que conocer la sintaxis de las funciones y yo no tengo idea. Acá les dejo la prueba de que finalmente lo logré (tengo que reconocer que por un momento me sentí, con orgullo, el famoso "gordo granudo" que tanto circula por esta categoría de T!):

masivamente


Usé ESTA GUÍA como referencia. En Debian y derivados se usa el comando rename, que no es el mismo que viene en Arch linux. Si quieren seguir estos pasos en Arch, tienen que instalar el paquete perl-rename.

La forma básica es la siguiente:

rename [-opción] expresión_en_perl archivos_de_origen

Las opciones principales son [-n] (si está bien la sintaxis, lo que hace es previsualizar el resultado de la operación) y [-v] (informa los cambios realizados).

La expresión_en_perl es la parte más complicada, sobre todo para los que no tienen idea ni de lo que es perl, como yo. El uso que pude probar satisfactoriamente fue el de cambiar e insertar, y para eso se usa una expresión como la que sigue:
 's/nombre-original/nombre-nuevo/' 

En estas expresiones es de bastante utilidad el uso de metacaracteres como los que detallo a continuación (ACÁ una lista más amplia).

$ se usa para delimitar el fin de una línea, o bien, recuperar un grupo delimitado por los paréntesis (ver más abajo)
. se usa para indicar cualquier caracter salvo u salto de línea
{x} donde "x" indica cuántas veces se repite el caracter que lo antecede
se usa (entre otras cosas) antes del punto (.) para indicar que lo tome como texto y no como un metacaracter
() delimitan un grupo que se podrá utilizar en otra parte de la función
* indica que el caracter que lo antecede puede estar 0 o más veces

Si, por ejemplo, lo que se quiere renombrar son archivos .htm a .html, la sintaxis completa podría ser así:
rename -n 's/.htm$/.html/' *.htm

Si se quiere agregar el prefijo foto a unas imágenes:
rename -n 's/(d{8}).JPG$/foto_$1.jpg/' *.JPG

En mi caso, lo que yo quería era reemplazar un texto del medio del nombre. Para eso creé la siguiente función (más de uno que sepa programación estará vomitando de lo mal que debe estar escrita mi función):
perl-rename -n 's/(.{2}).{24}(.*).mp3/$1_$2.mp3/' *.mp3
donde,
-n indica que sólo se previsualice el resultado
s indica que se hará una reemplazo
(.{2}) indica que se conserven los primeros dos caracteres
.{24} indica que después siguen 24 caracteres (no los puse entre paréntesis porque no me interesaba conservarlos)
(.*) indica que a continuación sigue un número variable de caracteres
.mp3 indica que a continuación sigue el texto ".mp3"
/$1_$2.mp3/ indica que el nuevo nombre del archivo va a estar formado por el grupo 1, o sea, (.{2}), y el grupo 2, o ea, (.*), separados por un guión bajo y con extensión ".mp3"
*.mp3 indica que esta función se aplique a todos los archivos con extensión ".mp3" de la carpeta.

gprename


También se puede renombrar archivos en masa por medio de Nautilus y Thunar:

pyrenamer


Si bien la interfaz gráfica de Thunar Bulk Renamer (en mi caso se instaló junto con Thunar) es distinta a los anteriores, la funcionalidad es bastante similar a GPRename y pyRenamer. Las opciones son muy similares, y tampoco se pueden hacer varias modificaciones a la vez, sino que hay que hacerlas por separado.

purrr


metamorphose 2


7 formas de renombrar archivos masivamente


Nautilus-batch-rename es un complemento para Nautilus. Es la única forma de renombrar masivamente que muestro en el post y que no probé. La agrego para aquellos que usen Nautilus. Por lo que se puede ver en el video de abajo (en inglés), las opciones para renombrar parecen ser bastante más limitadas que para el resto. A la altura de Purrr, o tal vez menos.



renombrar


Esto es todo, espero que a alguno le sirva.