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:
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).
GPRename es prácticamente igual a pyRenamer. Sólo tiene algunas diferencias en la presentación de las opciones.
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!).
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)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.
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.
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!):
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.
También se puede renombrar archivos en masa por medio de Nautilus y Thunar:
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.
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.
Link: http://www.youtube.com/watch?v=TaqtAbrsiP4
a mi me gusta Thunar Bulk Renamer es facil y intuitivo
ResponderBorrarHay muchos más. La selección comprende sòlo los que conozco por haberlos usado. También está gprename del cuál tengo buenas referencias de terceros. Gracias por la señalación. Saludos.
BorrarQue buenas formas para la renovación de los archivos vale. Gracias a esta pagina puede aprender eso y sobre todo de como puedo hacer tutoriales de aplicaciones para selfies las cuelas en el anterior capitulo publicaron esto.
ResponderBorrarGracias por comentar pero por favor on incluir links clicables en los comentarios. Saludos
BorrarHola, necesito una ayuda para un script: tengo varios directorios con pdf en su interior. Los directorios siempre se llaman 001, 002…010, 011…. Necesito meter todos los pdf en una misma carpeta. El problema es que el nombre de los archivos pdf se repite en cada una de las carpetas por lo que tendria que renombrarlos con su nombre original añadiendole el sufijo por ejemplo 1, 2, 3 …. para que vayan correlativos, es decir, el fichero1 de la carpeta 001 iria antes que el fichero1 de la carpeta 002
ResponderBorrarSolo he conseguido meter todos los pdf por orden en una sola carpeta, pero el problema es que sobreescribe los nombres:
find . -type f -name *.pdf -exec mv {} ./destino \;
Me falta el comando para renombrarlos ordenadamente
Alguna ayuda?
Desde la versión 17.10 de Ubuntu que incorpora Nautilus 3.26 esto ya es posible. La posibilidad de renombrar archivos de forma masiva en Ubuntu, es ahora una realidad y fácil de materializar. Tan solo tienes que elegir los archivos que quieras renombrar, y seleccionar la opción renombrar desde el menú contextual, o bien, pulsar la tecla F2.
Borrar