¿Cómo puedo cambiar el nombre de muchos archivos a la vez?

43

Necesito cambiar el nombre de un grupo de archivos para corregir su orden de clasificación, por lo tanto, necesito poder hacer una especie de "buscar y reemplazar" para poder reemplazar fragmentos de los nombres de archivo a la vez.

¿Qué herramientas debo usar? Prefiero GUI pero una recomendación de herramienta de línea de comando también estaría bien.

Jorge Castro
fuente

Respuestas:

54

Hay algunos, pero recomiendo gprename, Instalar gprename que es un buen compromiso entre usabilidad y funcionalidad.

Otras herramientas son: rename, krename Instalar krename , pyrenamer Instalar pyrenamer , cuteRenamer, ...

Ralf Hersel
fuente
66
pyRenamer no es malo en absoluto.
skalka
66
He usado Pyrenamer con frecuencia y, a veces, gprename a menos que el cambio se realice muy fácilmente en la línea de comandos. Lo mejor de estas GUI es la acción de 'vista previa' incorporada. Esto te ahorrará dolores de cabeza.
belacqua
44
+1 para gprename, solo intenté y realicé el cambio de nombre necesario en 5 segundos
Pisu
La vergüenza ni gprename o pyrename pueden tomar lista de archivos para cambiar el nombre de la línea de comandos
artfulrobot
gprename es genial en 14.04. Hice 300 carpetas renombrando por regex en 15 segundos
3rgo
10

Realmente me gusta qmv del renameutilspaquete. Le permite usar su editor de texto favorito (basado en terminal) para cambiar el nombre de los archivos. Prefiero invocarlo con lo -f doque le da una sola columna (una fila por archivo) con nombres de archivo. Combinado con el poder de Vim, le brinda todas las herramientas que necesita para realizar una edición masiva de nombres de archivo.

http://www.nongnu.org/renameutils/

dempa
fuente
7

Metamorfosearse

https://github.com/metamorphose

Puede ser un poco difícil de manejar, ¡pero realmente poderoso!

perseo22
fuente
Realmente me gusta esta. Es bastante potente y se ejecuta en todas las plataformas principales.
daniels
5

Si te gustan las expresiones regulares de shell y perl, te las recomiendo rename. Es tan simple como su nombre.

confundir
fuente
3

Si está familiarizado con Emacs, creo que nada supera a Dired para esta tarea. Incluso si no usa Emacs, a menudo puede encontrar Dired una herramienta útil.

sudo aptitude install emacs23-nox

Inicie el modo Emacs Dired para un directorio:

emacs -nw path/to/dir/

Ahora ingrese al modo de edición de directorio:

C-x C-q (es decir, Ctrl + x seguido de Ctrl + q)

Ahora puede editar los nombres de archivo como editar texto en cada editor de texto plano. Incluso puede optar por reemplazar los nombres de archivo con expresiones regulares (tenga en cuenta que, lamentablemente, Emacs utiliza una sintaxis diferente a PCRE).

Por ejemplo, para cambiar el nombre de los archivos con contador (comenzando por 1):
M-x replace-regexp(es decir Alt + x seguido de la cadena "replace-regexp" escrita en el minibúfer en la parte inferior de la pantalla).
Reemplazar regexp: DSCN\([0-9]+\).JPG
Reemplazar con: \,(format "P%04d.jpg" (1 + \#))

Para reutilizar un contador en el nombre del archivo:
M-x replace-regexp
Reemplace regexp: DSCN\([0-9]+\).JPG
Reemplace con:\,(format "P%04d.jpg" (string-to-number \1))

Cuando termine, escriba:

C-c C-c (es decir, Ctrl + c seguido de Ctrl + c)

O, alternativamente, presione la siguiente secuencia para cancelar sus cambios:

C-c Esc (es decir, Ctrl + c seguido de Esc)

Matthias P.
fuente
2

Tiendo a usar mmv , que se basa en la línea de comandos y tiene una sintaxis de expresión algo peculiar, pero tiendo a resolver la mayoría de mis problemas.

Señor tiburón
fuente
1

Si usa Nautilus y sabe cómo funcionan los scripts de Nautilus, puede usar nautilus-renamer .

Erik Lundmark
fuente
0

En la línea de comando también existe la posibilidad de usar magia de sed y shell:

ls *.c | sed "s#\(.*\)\.c#mv \0 \1.cpp#" | sh
Señor tiburón
fuente
1
Eso no parece funcionar como está impreso. También puede usar '#' u otro carácter en lugar de "\" como separadores en los ejemplos para posiblemente mayor claridad. por ejemplo, `ls .c | sed 's # ([az] ) \. c # \ 1.cpp #' '(Este ejemplo no es cambiar el nombre, solo para mostrar el nuevo nombre de archivo, por simplicidad)
belacqua
+1 Me parece una forma realmente agradable (que además funciona en todas las distribuciones), sin instalar nada. Pero probablemente usaría el -dinterruptor para lsevitar enumerar el contenido de directorios que también podrían terminar con .c(la mayoría de las veces no es un problema, pero aún así ...).
Levite
0

Windows tiene un programa realmente bueno para esto llamado Bulk Rename Utility. Aquí está la URL: http://www.bulkrenameutility.co.uk/Main_Intro.php .

Hay una versión unicode de Windows 98 que es portátil. Lo puse en una carpeta en mi sistema Linux (Mint Maya) y cuando lo ejecuto a través de Wine funciona de maravilla. La interfaz gráfica de usuario es muy fácil de usar y muy flexible.

Kevin Walburn
fuente
Casi quiero correr esto en vino. Es mucho mejor que pyRenamer.
Teque5
0

Para mí, el pyRenamer funcionó mejor. Nada (lamentablemente) se acerca a Total Commanders, la herramienta de cambio de nombre creada. pyRenamer no se integra con Krusader, pero teniendo en cuenta el hecho de que no utiliza las herramientas de cambio de nombre que a menudo de todos modos, pyRenamer es una muy buena opción.

Artur Barseghyan
fuente
0

Esta es la herramienta que uso: rnm ( página man ) ( más ejemplos )

Algunos Uso:

rnm file-name -ns new-filename             # single file
rnm ./* -ns '/n//i/'                       # files will be sorted and indexed.
rnm ./* -rs '/search/new/g'                # 'search' in filenames will be replaced with 'new'
rnm ./* -ns '/fn//i/' -ss 'search'         # only files/directories which contain 'search' in their name will be indexed (renamed).
rnm ./* -ns '/fn//id/' -fo                 # file only mode, directories will be ignored.
rnm ./* -ns '/fn//id/' -fo -dp -1          # recursive to subdirectories all the way.

etc...
Jahid
fuente
El enlace de la página web va a neurobin.org/projects/softwares/unix/rnm y da un 404.
muru
@muru: hmm, algo le sucedió a la página, la actualicé al enlace de la página man.
Jahid
0

Personalmente uso Ant Renamer con Wine porque nada de lo que he probado (Métamorphose, PyRenamer, GPRename, KRename) es tan potente, fácil de instalar y fácil de usar. Y todavía es FOSS, así que no veo el problema.

Gamnamno
fuente
0

Krename es una GUI de KDE para renombrar archivos, que generalmente se encuentra en la mayoría de los administradores de paquetes.

Esta respuesta se aplica a la eliminación de números iniciales que se pueden encontrar en archivos de música como mp3. Pero también Krenamecambia el nombre en masa.

  1. Cargue los archivos o carpetas seleccionados. Krename carga todos los archivos en la carpeta seleccionada, simplemente haga clic en Opensin tener que seleccionar individualmente todos los archivos.

  2. Vaya a la Destinationpestaña para sobrescribir o copiar archivos a otra carpeta.

  3. Vaya a la Filenamepestaña, luego a la Advanced Filenamepestaña.

     Imagen "Nombre de archivo avanzado" que muestra la configuración predeterminada.

  4. Comience por eliminar el token $en la Templateventana. Un cambio tiene lugar en la Renamedventana de abajo. No aparecen nombres de archivo, solo las extensiones de archivo.

    3. La imagen muestra que los nombres de archivo se han eliminado, dejando las extensiones de archivo.

  5. Haga clic en Insert Part of Filename...y seleccione las partes del nombre de archivo que desea conservar. Esta operación incluirá todos los archivos y los cambios serán obvios en la Renamedventana a continuación.

    4. Imagen "Insertar parte del nombre de archivo ..." que muestra cómo seleccionar el nombre de archivo resaltando las secciones preferidas.

  6. Haga clic OK. Los archivos se renombran sin los números iniciales.

    5. Resultados finales que muestran.

  7. Finalmente, haga clic Finisheden la esquina inferior derecha.

Scott
fuente
0

Una nueva utilidad de cambio de nombre de la GUI que se ejecuta en Linux (también funciona en Mac y Windows) es Inviska Rename .

ingrese la descripción de la imagen aquí

Además de las funciones habituales de cambio de nombre, como reemplazar una parte del texto con otro texto, insertar o eliminar texto, cambiar el nombre de las extensiones de archivo, etc., esta herramienta puede cambiar el nombre de las carpetas, cambiar el nombre de la música según las etiquetas y cambiar el nombre de las fotos con su información Exif. Incluso puede cambiar el nombre del lote utilizando atributos de archivo como la fecha de creación o modificación.

Otras características incluyen la vista previa de los nuevos nombres de archivo y deshacer el cambio de nombre del lote, lo que me parece muy útil.

Fuente

Logix
fuente