GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo cambiar el nombre de varios archivos a la vez en Linux

Creo que ya sabe cómo cambiar el nombre de los archivos en Linux con el comando mv. Simplemente utilícelo en el formato:

mv old_file_name new_file_name

No hay nada malo con este método. Esa es la forma estándar después de todo.

Pero, ¿qué pasa con la situación en la que tiene que cambiar el nombre de varios archivos? Usar el comando mv uno por uno llevaría mucho tiempo y seguramente debería evitarse.

Puede usar la opción de comando find exec con el comando mv para automatizar este proceso. Pero déjame contarte una forma aún más sencilla de cambiar el nombre de los archivos según el patrón de expresiones regulares.

Renombrar comando en Linux

Hay una utilidad de línea de comando llamada renombrar que le permite cambiar el nombre de todos los archivos que coinciden con un cierto patrón en forma de expresión regular de Perl. El comando de cambio de nombre solo funciona en el nombre del archivo, no en el archivo en sí.

Este es el siguiente comando de cambio de nombre de sintaxis:

rename [options] perlexpr [files]

Este 'comando de cambio de nombre' tiene las siguientes opciones:

  • -v :Modo detallado.
  • -n:Sin acción. Muestre los archivos a los que se les cambiaría el nombre, pero no cambie el nombre de los archivos.
  • -o :sin sobrescribir. No sobrescriba los archivos existentes.
  • -f :Fuerza. Sobrescribir archivos existentes.
  • -s:no cambiar el nombre del enlace simbólico sino su destino

Tenga en cuenta que el comando de cambio de nombre no es una utilidad estándar preinstalada en las distribuciones de Linux como el comando mv o cp. Puede que tenga que instalarlo. Si es usuario de Sudo en Ubuntu o Debian, puede usar este comando para instalar cambiar el nombre:

sudo apt install rename

Ahora debe preguntarse cómo cambiar el nombre de los archivos con el comando de cambio de nombre. Permítame mostrarle dos escenarios prácticos en los que este comando le ahorrará mucho tiempo.

Escenario 1:Reemplazar un personaje con otro en todos los nombres de archivo en Linux

Imagínese si tiene espacios en blanco en varios nombres de archivo. Es una pesadilla manejar espacios en nombres de archivos en Linux. Esta es la razón por la cual ningún usuario experimentado nunca nombra un archivo con espacios.

Naturalmente, querrá eliminar los espacios y reemplazarlos con un guión bajo (_). El comando de cambio de nombre será bastante útil aquí. Veamos cómo.

Para reemplazar los espacios con guiones bajos en los nombres de todos los archivos en el directorio actual, todo lo que tiene que hacer es usar el comando renombrar de esta manera:

rename 's/ /_/g' *

Si está remotamente familiarizado con las expresiones regulares, entenderá que s/ /_/g está buscando espacio y reemplazando todas las apariciones de espacio con _.

La parte interesante es el asterisco (*). El asterisco le indica que cambie el nombre de los archivos coincidentes en el directorio actual.

Pero, ¿qué sucede si también desea cambiar el nombre de todos los archivos coincidentes en los subdirectorios? En ese caso, puede usar dos asteriscos como este:

rename 's/ /_/g' **

Escenario 2:cambiar las extensiones de varios archivos a la vez en Linux

Aquí hay otro escenario para ti. Tiene varios archivos con nombres como my_file.xyz y desea cambiar el nombre de estos archivos para que se conviertan en algo como my_file.abc.

Para cambiar las extensiones de varios archivos a la vez, puede usar el comando de cambio de nombre de la siguiente manera:

rename 's/\.xyz$/.abc/' **

Déjame explicarte el comando anterior.

‘s/\.xyz$/.abc/’:esta es una expresión regular que significa reemplazar el carácter .xyz al final de la línea con .abc. El \ adicional se usa para escapar del . de lo contrario, significaría coincidir con cualquier carácter antes de xyz.

** significa buscar en el directorio actual y sus subdirectorios.

¿Te gustó el comando de cambio de nombre?

No muchas personas conocen el comando de cambio de nombre. Esto también puede deberse al hecho de que renombrar no es un comando de facto en muchos sistemas Linux.

Sin embargo, encuentro este comando bastante útil cuando trato de renombrar varios archivos simultáneamente.

¿Y usted? ¿Ha utilizado el comando de cambio de nombre en el pasado? ¿Cómo prefiere cambiar el nombre de varios archivos a la vez?


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

  2. Cómo comprimir varios archivos en Linux

  3. ¿Cómo cambiar el nombre de varios archivos en un solo comando o secuencia de comandos en Unix?

  4. ¿Cómo cambiar el nombre de varios archivos usando Buscar?

  5. Cómo reemplazar una cadena en varios archivos en la línea de comando de Linux

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

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

Cómo contar archivos en el directorio en Linux

Cómo ejecutar varios comandos de Linux a la vez en la terminal de Linux

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