GNU/Linux >> Tutoriales Linux >  >> Linux

8 métodos para cambiar el nombre de varios archivos a la vez en Linux

En este tutorial, aprenderemos cómo cambiar el nombre de varios archivos a la vez en Linux utilizando varias herramientas. Todos los ejemplos proporcionados aquí se prueban en Ubuntu; sin embargo, deberían funcionar en cualquier sistema operativo Linux.

Introducción

Como ya sabrá, usamos mv Comando para cambiar el nombre o mover archivos y directorios en sistemas operativos Linux y similares a Unix.

Pero, el mv El comando no admitirá el cambio de nombre de archivos por lotes a la vez. Solo puede cambiar el nombre de un archivo a la vez. ¿Qué harías si quisieras cambiar el nombre de varios archivos a la vez? ¡No te preocupes!

Hay algunas otras utilidades disponibles para renombrar archivos por lotes en Linux.

Cambie el nombre de varios archivos a la vez en Linux

Podría haber muchos comandos y utilidades para cambiar el nombre de un montón de archivos. Al momento de escribir esto, conozco 8 formas diferentes de renombrar archivos por lotes. Seguiré actualizando la lista si encuentro algún método nuevo en el futuro.

Método 1:renombrar archivos por lotes usando mmv

El mmv La utilidad se utiliza para mover, copiar, agregar y renombrar archivos de forma masiva utilizando comodines estándar en sistemas operativos Linux y similares a Unix. Está disponible en los repositorios predeterminados de los sistemas basados ​​en Debian.

Para instalar mmv en Debian, Ubuntu, Linux Mint y Pop OS, ejecute el siguiente comando:

$ sudo apt-get install mmv

Digamos que tiene los siguientes archivos en su directorio actual.

$ ls
a1.txt a2.txt a3.txt

Ahora desea cambiar el nombre de todos los archivos que comienzan con la letra "a" a "b" . Por supuesto, puede hacerlo manualmente en unos segundos.

Pero solo piense si tiene cientos de archivos y desea cambiarles el nombre. Es un proceso bastante lento. Aquí es donde mmv el comando viene en ayuda.

Para cambiar el nombre de todos los archivos que comienzan con la letra "a" a "b" , simplemente ejecute:

$ mmv a\* b\#1

Verifiquemos si los archivos han sido renombrados o no.

$ ls
b1.txt b2.txt b3.txt

Como puede ver, todos los archivos comienzan con la letra "a" (es decir, a1.txt , a2.txt , a3.txt ) se renombran a b1.txt , b2.txt , b3.txt .

Explicación

En el ejemplo anterior, el primer parámetro (a* ) es el 'from' patrón y el segundo parámetro es 'to' patrón (b#1 ).

Según el ejemplo anterior, mmv buscará cualquier nombre de archivo que comience con la letra 'a' y cambie el nombre de los archivos coincidentes según el segundo parámetro, es decir, 'to' patrón.

Usamos comodines, como ‘*’ , ‘?’ y ‘[]‘ , para hacer coincidir uno o más caracteres arbitrarios. Tenga en cuenta que debe escapar de los caracteres comodín, de lo contrario, el shell los expandirá y mmv no los entenderá.

El ‘#1′ en el ‘to’ patrón es un índice comodín. Coincide con el primer comodín encontrado en el ‘from’ patrón. Un ‘#2′ en el ‘to’ patrón coincidiría con el segundo comodín y así sucesivamente.

En nuestro ejemplo, solo tenemos un comodín (el asterisco), por lo que escribimos un #1 . Y, el signo hash también debe escaparse. Además, también puede encerrar los patrones entre comillas.

Incluso puede cambiar el nombre de todos los archivos con una determinada extensión a una extensión diferente. Por ejemplo, para cambiar el nombre de todos los .txt archivos a .doc formato de archivo en el directorio actual, simplemente ejecute:

$ mmv \*.txt \#1.doc

Aquí hay otro ejemplo. Digamos que tiene los siguientes archivos.

$ ls
abcd1.txt abcd2.txt abcd3.txt

Desea reemplazar la primera aparición de abc con xyz en todos los archivos del directorio actual. ¿Cómo te iría?

Sencillo.

$ mmv '*abc*' '#1xyz#2'

Tenga en cuenta que en el ejemplo anterior, he encerrado los patrones entre comillas simples.

Verifiquemos si "abc" en realidad se reemplaza con "xyz" o no.

$ ls
xyzd1.txt xyzd2.txt xyzd3.txt

¿Ver? Los archivos abcd1.txt , abcd2.txt y abcd3.txt han sido renombrados a xyzd1.txt , xyzd2.txt y xyzd3.txt .

Otra característica notable del comando mmv es que puede imprimir la salida en lugar de cambiar el nombre de los archivos usando -n opción como la siguiente.

$ mmv -n a\* b\#1 
a1.txt -> b1.txt
a2.txt -> b2.txt
a3.txt -> b3.txt

De esta manera, simplemente puede verificar qué comando mmv haría realmente antes de cambiar el nombre de los archivos.

Para obtener más detalles, consulte las páginas man.

$ man mmv

Método 2:cambiar el nombre de los archivos de forma masiva mediante la utilidad de cambio de nombre

El renombrar La utilidad cambiará el nombre de los archivos dados sustituyendo la primera aparición de expresión en su nombre por reemplazo.

El comando de cambio de nombre viene preinstalado en la mayoría de los sistemas operativos similares a Unix. Si no está disponible de forma predeterminada, ejecute el siguiente comando para instalarlo en sistemas basados ​​en Debian:

$ sudo apt install rename

Por ejemplo, tengo los siguientes archivos en el directorio actual.

$ ls
abcd1.txt abcd2.txt abcd3.txt

Reemplacemos la primera ocurrencia de abc con xyz dondequiera que se encuentre. Para hacerlo, ejecute:

$ rename 's/abc/xyz/' *

Ahora, verifique si los cambios se han realizado con ls comando.

$ ls
xyzd1.txt xyzd2.txt xyzd3.txt

A veces, es posible que simplemente imprima la salida en lugar de cambiar el nombre de los archivos. Si es así, use -n indicador para mostrar qué cambios de nombre ocurrirían sin realizarlos:

$ rename -n 's/abc/xyz/' *
rename(abcd1.txt, xyzd1.txt)
rename(abcd2.txt, xyzd2.txt)
rename(abcd3.txt, xyzd3.txt)

Como puede ver, el comando anterior no realizó ningún cambio, sino que solo muestra qué cambios de nombre se producirían.

Puede forzar la tarea de cambio de nombre incluso si la operación sobrescribiera los archivos existentes usando -f marca como a continuación.

$ rename -f 's/abc/xyz/' *

Si no desea sobrescribir los archivos, simplemente puede convertirlos a letras mayúsculas o minúsculas (y viceversa) para evitar errores de "ya existe".

Para convertir todos los nombres de archivo a minúsculas, entonces:

$ rename 'y/a-z/A-Z/' *

Verifiquemos si se han realizado los cambios.

$ ls
ABCD1.TXT ABCD2.TXT ABCD3.TXT

Sí, las letras de los nombres de archivo se han cambiado de minúsculas a mayúsculas.

Del mismo modo, para convertir nombres de archivo a minúsculas, ejecute:

$ rename 'y/A-Z/a-z/' *

También podemos eliminar todas las líneas en blanco en un nombre de archivo. Por ejemplo, tengo el siguiente archivo.

$ ls
Clouds of Sunset.mp3

Para eliminar todos los espacios en blanco en el nombre de archivo anterior, ejecute:

$ rename "s/ *//g" *

Ahora, el nombre del archivo no tiene espacios en blanco.

$ ls
CloudsofSunset.mp3

Reemplace los espacios en blanco con guiones bajos:

$ rename 's/\s+/_/g' *

Es posible que desee cambiar la extensión del archivo, pero no cambiar el nombre de los archivos. También es posible. El siguiente comando cambiaría el nombre de todos los *.txt archivos a *.doc .

$ rename 's/\.txt$/.doc/' *.txt

Verifica los cambios usando ls comando:

$ ls
abcd1.doc abcd2.doc abcd3.doc

Para eliminar la extensión en todos los archivos que coincidan con .txt , ejecuta:

$ rename 's/\.txt$//' *.txt

Para obtener más detalles, consulte las páginas man.

$ man rename

Método 3:cambiar el nombre de los archivos usando renameutils

Las utilidades de cambio de nombre es un conjunto de programas que está diseñado para renombrar archivos y directorios por lotes de forma más rápida y sencilla.

Renameutils consta de los siguientes cinco programas:

  1. qmv (movimiento rápido),
  2. qcp (copia rápida),
  3. imv (movimiento interactivo),
  4. icp (copia interactiva),
  5. deurlname (eliminar URL).

Instalar renameutils en Linux

Renameutils está disponible en los repositorios predeterminados de la mayoría de las distribuciones de Linux. Para instalarlo en sistemas basados ​​en Arch, habilite el repositorio de la comunidad y ejecute:

$ sudo pacman -Syu renameutils

En sistemas basados ​​en Debian:

$ sudo apt install renameutils

Ahora, veamos algunos ejemplos.

1. qmv

El programa qmv abrirá los nombres de archivo en un directorio en su editor de texto predeterminado y le permitirá editarlos.

Tengo los siguientes tres archivos en un directorio llamado 'ostechnix'.

$ ls ostechnix/
abcd1.txt abcd2.txt abcd3.txt

Para cambiar el nombre de los archivos en el directorio 'ostechnix', simplemente haga lo siguiente:

$ qmv ostechnix/

Ahora, cambie los nombres de archivo como desee. Verá la vista previa en vivo a medida que edite los nombres de archivo.

Alternativamente, puede usar un cd en el directorio y simplemente ejecutar 'qmv' .

Una vez que haya abierto los archivos, verá las dos columnas como se muestra en la siguiente captura de pantalla.

El lado de la columna izquierda muestra los nombres de archivo de origen y la columna derecha muestra los nombres de destino (los nombres de archivo de salida que obtendrá después de editar).

Ahora, cambie el nombre de todos los nombres de salida en el lado derecho como desee.

Después de cambiar el nombre de los archivos, guarde y cierre el archivo.

Finalmente, verá el siguiente resultado:

Plan is valid.

abcd1.txt -> xyzd1.txt
abcd2.txt -> xyzd2.txt
abcd3.txt -> xyzd3.txt
   Regular rename

abcd1.txt -> xyzd1.txt
abcd2.txt -> xyzd2.txt
abcd3.txt -> xyzd3.txt

Ahora, verifique si los cambios realmente se han realizado usando 'ls' comando:

$ ls ostechnix/
xyzd1.txt xyzd2.txt xyzd3.txt

¿Ver? Todos los archivos se renombran. No solo los archivos, las utilidades de cambio de nombre también cambiarán el nombre de los directorios.

Aquí hay una demostración rápida en video del programa qmv:

Si no desea editar los nombres de archivo en formato de dos columnas, use el siguiente comando para mostrar solo la columna del archivo de destino.

$ qmv -f do ostechnix/

Donde, '-f' se refiere al format y 'do' se refiere a destination-only .

Ahora, verá solo la columna de destino. Esa es la columna donde hacemos los cambios.

Una vez hecho esto, guarde y cierre el archivo.

Para obtener más detalles, consulte las páginas man.

$ man qmv

2. qcp

El programa qcp funciona como qmv, pero copia archivos en lugar de cambiarles el nombre. En este caso, obtendrá dos instancias del mismo archivo. Eso significa que mantendrá tanto los archivos originales como los duplicados.

$ qcp ostechnix/

Cambie el nombre de los archivos enumerados en el lado derecho. Guarde y salga del archivo. Finalmente, verifique los cambios realizados usando el comando ls:

$ ls ostechnix/
abcd1.txt abcd2.txt abcd3.txt xyzd1.txt xyzd2.txt xyzd3.txt

Para obtener más detalles, consulte las páginas man.

$ man qcp

3. imv

El programa imv nos permite renombrar interactivamente los nombres de los archivos. Obviamente, no es para cambiar el nombre de forma masiva. Solo podía cambiar el nombre de los archivos uno por uno.

$ imv ostechnix/abcd1.txt

Edite el nombre del archivo como desee y presione ENTER para cambiarle el nombre.

Para obtener más detalles, consulte las páginas man.

$ man imv

4. icp

El programa icp es el mismo que imv , pero copia los archivos en lugar de moverlos.

Ejemplo:

$ icp ostechnix/abcd1.txt

Para obtener más casos de uso y comandos, consulte las páginas man.

$ man icp

No sé por qué los desarrolladores agregaron estas dos utilidades mientras que nosotros podemos hacer lo mismo usando mv y cp comando.

5. nombre deurl

El nombredeurl El programa elimina los caracteres codificados de URL (como %20 que representa el espacio) de los nombres de archivo. Algunos programas, por ejemplo w3m , tienden a mantener esos caracteres codificados en archivos guardados.

Puede usar esta herramienta para limpiar los nombres de archivo que descargó de Internet.

Eche un vistazo al siguiente archivo.

$ ls
omg%20ponnu%20ily%20kannu.mp3

Hay algunos caracteres especiales y números en el nombre del archivo. Si lo limpia, simplemente ejecute:

$ deurlname omg%20ponnu%20ily%20kannu.mp3

Ahora, mira cómo se cambia el nombre del archivo.

$ ls
omg ponnu ily kannu.mp3

El nombre del archivo es limpio y legible.

Consulte las páginas del manual para obtener más detalles.

$ man deurlname

Además, consulte el sitio web del proyecto que se encuentra al final de esta guía.

Método 4:cambie el nombre de varios archivos a la vez usando vimv

Como su nombre lo dice, Vimv es una utilidad de línea de comandos para renombrar archivos de forma masiva usando Vim editor. Por supuesto, puede cambiar el editor cambiando el valor de $EDITOR variable de entorno.

Para instalar Vimv, git clone el repositorio:

$ git clone https://github.com/thameera/vimv.git

Copie el binario vimv a su $PATH , por ejemplo /usr/local/bin/ .

$ sudo cp vimv/vimv /usr/local/bin/

Finalmente, hazlo ejecutable:

$ sudo chmod +x /usr/local/bin/vimv

Ahora vaya al directorio y ejecute el siguiente comando para editar los nombres de archivo.

$ vimv

Verá los nombres de archivo en el editor Vi. Presiona i para cambiar al modo interactivo y editar los nombres de archivo de la misma manera que edita texto en el editor Vi. Una vez hecho esto, presione ESC clave y escriba :wq para guardar y salir.

Los archivos dentro del directorio deben ser renombrados ahora. Aquí hay una breve demostración en video.

Para obtener más detalles, consulte el repositorio de GitHub del proyecto que se proporciona al final de esta guía.

Método 5:renombrar archivos por lotes usando Emacs

Si tiene un sistema con el editor de Emacs instalado, puede cambiar el nombre por lotes fácilmente siguiendo estos pasos.

1. Abra su editor de Emacs.

2. Presiona Alt+x y escriba lo siguiente y presione ENTER para cambiar a wdired-mode (abreviatura de "modo editor de directorio grabable").

$ dired

3. Ingrese la ruta al directorio (por ejemplo, /home/sk/ostechnix ) que contiene los archivos para renombrar y presionar ENTER clave.

4. Luego, presiona Ctrl+x y Ctrl+q para cambiar al modo de lectura y escritura.

5. Ahora, cambie el nombre de los archivos. Una vez hecho esto, presione Ctrl+c y Ctrl+c (dos veces) para guardar los cambios. Para cancelar los cambios, presione Ctrl+c y Ctrl+k .

Vea el vídeo de demostración:

¿Ver? Es muy sencillo cambiar el nombre de varios archivos a la vez.

Método 6:renombrar archivos de forma masiva con el administrador de archivos Thunar

El administrador de archivos Thunar tiene un cambio de nombre masivo incorporado opción por defecto.

Thunar está disponible en los repositorios predeterminados de la mayoría de las distribuciones de Linux.

Para instalarlo en sistemas basados ​​en Arch, ejecute:

$ sudo pacman -S thunar

En Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux:

$ sudo dnf install thunar

O,

$ sudo yum install thunar

En openSUSE:

$ sudo zypper install thunar

En Debian, Ubuntu, Linux Mint:

$ sudo apt-get install thunar

Una vez instalado, puede iniciar la utilidad de cambio de nombre masivo desde el menú o desde el iniciador de aplicaciones. Para iniciarlo desde la Terminal, use el siguiente comando:

$ thunar -B

Así es como se ve el cambio de nombre masivo.

Haga clic en el signo más y elija la lista de archivos a los que desea cambiar el nombre. El cambio de nombre masivo puede cambiar el nombre de los archivos, el sufijo de los archivos o tanto el nombre como el sufijo de los archivos.

Thunar actualmente es compatible con los siguientes renombradores masivos:

  • Insertar fecha u hora
  • Insertar o sobrescribir
  • Numeración
  • Eliminar caracteres
  • Buscar y reemplazar
  • Mayúsculas / Minúsculas

Cuando seleccione uno de estos criterios de la lista de selección, verá una vista previa de sus cambios en el Nuevo nombre columna, como se muestra en la siguiente captura de pantalla.

Una vez que elija los criterios, haga clic en Renombrar archivos opción para cambiar el nombre de los archivos.

También puede abrir el cambio de nombre masivo desde Thunar seleccionando dos o más archivos. Después de elegir los archivos, presione F2 o haz clic derecho y elige Rename .

Lectura sugerida:

  • [Consejos de Bash] Cambiar el nombre de los archivos sin escribir el nombre completo dos veces en Linux

Método 7 - Cambiar el nombre de la lista de archivos con KRename

KRename es un renombrador de archivos por lotes que puede cambiar el nombre de una lista de archivos en función de un conjunto de expresiones. Le permite cambiar el nombre de una gran cantidad de archivos simplemente agregando una secuencia de números o cambiando mayúsculas y minúsculas.

KRename está especialmente diseñado e instalado de forma predeterminada en las distribuciones de KDE. También puede instalarlo en otras distribuciones de Linux.

Por ejemplo, para instalar KRename en Fedora, simplemente ejecute:

$ sudo dnf install krename

Inicie la aplicación KRename desde el iniciador de aplicaciones o el menú y agregue todos los archivos para renombrarlos en Archivos sección.

En el Destino sección, asegúrese de haber seleccionado la opción "Renombrar archivos de entrada".

En los Complementos, puede elegir cualquier complemento de su elección, que proporciona varias etiquetas al cambiar el nombre de los archivos.

En la última sección, puede elegir el esquema de cambio de nombre a utilizar. Verá una vista previa en la parte inferior según el esquema que haya elegido. Una vez que esté de acuerdo con las opciones seleccionadas, haga clic en el botón Finalizar para cambiar el nombre de los archivos.

Los archivos renombrados se guardarán en la misma ubicación.

KRename es una utilidad de cambio de nombre rica en funciones. Tiene tantas opciones al cambiar el nombre de los archivos. La mayoría de las opciones se explican por sí mismas.

Método 8:cambie el nombre de varios archivos y carpetas con el renombrador de archivos inteligente

Smart File Renamer es un programa gráfico para cambiar el nombre de varios archivos a la vez. Con el cambio de nombre inteligente de archivos, puede cambiar el nombre de archivos y directorios de forma fácil y rápida a la vez con un par de clics del mouse. Es una aplicación multiplataforma compatible con Linux, macOS y Windows. A diferencia de los otros programas, es decoroso. La versión gratuita solo tiene una funcionalidad limitada.

Smart File Renamer está disponible como paquete instantáneo. Puedes instalarlo usando el siguiente comando:

$ sudo snap install smart-file-renamer

Una vez instalado, ejecútelo desde el menú o el iniciador de aplicaciones. Agregue los archivos y directorios que desea cambiar de nombre y haga clic en el botón Cambiar nombre en la parte inferior.

Admite muchas reglas y filtros para el cambio de nombre por lotes. Simplemente selecciónelos en el lado derecho de la ventana de la aplicación y presione el botón Renombrar.

Conclusión

¡Ahí tienes! En esta guía, hemos discutido 8 métodos para renombrar archivos de forma masiva en Linux. Hemos proporcionado programas gráficos y de línea de comandos para cambiar el nombre de varios archivos de una sola vez. Simplemente elija el que más le convenga y haga el trabajo.

Y, eso es todo por ahora. Espero que esto haya sido útil. ¿Conoces algún otro método para agregar en esta lista? Menciónelos en la sección de comentarios a continuación. Revisaré y actualizaré esta guía en consecuencia.


Linux
  1. Cómo cambiar el nombre de los archivos en Linux

  2. Cómo comprimir varios archivos en Linux

  3. Linux:elimine las extensiones de archivo para varios archivos

  4. ¿Cómo eliminar varios archivos a la vez en Bash en Linux?

  5. Eliminar parte de un nombre de archivo para varios archivos en Linux

Cómo cambiar el nombre de archivos y directorios en Linux

Comando Renombrar en Linux (Renombrar Múltiples Archivos)

Cómo cambiar el nombre de los archivos usando la línea de comandos en Linux

Cómo cambiar el nombre de un archivo (s) en Linux

Extensión de cambio de nombre de varios archivos de Linux

Comparando dos archivos en la terminal de Linux