GNU/Linux >> Tutoriales Linux >  >> Linux

Comando Renombrar en Linux (Renombrar Múltiples Archivos)

Cambiar el nombre de varios archivos y directorios con mv El comando puede ser un proceso tedioso, ya que implica escribir comandos complejos con conductos, bucles, etc.

Aquí es donde rename El comando es útil. Cambia el nombre de los archivos dados reemplazando la expresión de búsqueda en su nombre con el reemplazo especificado.

En este tutorial, explicaremos cómo usar el rename comando para renombrar archivos por lotes.

Instalando rename #

Hay dos versiones de rename comando con diferente sintaxis y características. Usaremos la versión Perl de rename comando.

Si esta versión no está instalada en su sistema, use el administrador de paquetes de su distribución de Linux para instalarlo:

  • Ubuntu y Debian

    sudo apt updatesudo apt install rename
  • CentOS y Fedora

    sudo yum install prename
  • Arco Linux

    yay perl-rename

Usando rename #

La siguiente es la sintaxis general para rename comando:

rename [OPTIONS] perlexpr files

El rename El comando es básicamente un script de Perl. Cambiará el nombre de los files dados de acuerdo con el perlexpr especificado expresión regular. Puede leer sobre las expresiones regulares de Perl aquí.

Por ejemplo, el siguiente comando cambiará la extensión de todos los .css archivos a .scss :

rename 's/.css/.scss/' *.css

Expliquemos el comando con más detalles:

  • s/search_pattern/replacement/ - El operador de sustitución.
  • .css - El patrón de búsqueda. Es el primer argumento en el operador de sustitución. El rename El comando buscará este patrón en el nombre de archivo dado y, si lo encuentra, lo reemplazará con el argumento de reemplazo.
  • .scss - El reemplazo. El segundo argumento en el operador de sustitución.
  • *.css - Todos los archivos con extensión “.css”. Comodín (* ) es un símbolo utilizado para representar cero, uno o más caracteres.

Antes de ejecutar el comando real y cambiar el nombre de los archivos y directorios, siempre es una buena idea usar -n opción que realizará una "ejecución en seco" y le mostrará qué archivos se renombrarán:

rename -n 's/.css/.scss/' *.css

La salida se verá así:

rename(file-0.css, file-0.scss)
rename(file-1.css, file-1.scss)
rename(file-2.css, file-2.scss)
rename(file-3.css, file-3.scss)
rename(file-4.css, file-4.scss)

Por defecto, el rename El comando no sobrescribe los archivos existentes. Usa el -f opción que le dice a rename para sobrescribir los archivos existentes:

rename -f 's/.css/.scss/' *.css

Si quieres rename para imprimir los nombres de los archivos que se renombraron con éxito, use -v (detallado) opción:

rename -v 's/.css/.scss/' *.css
file-0.css renamed as file-0.scss
file-1.css renamed as file-1.scss
file-2.css renamed as file-2.scss
file-3.css renamed as file-3.scss
file-4.css renamed as file-4.scss

rename Ejemplos #

A continuación se muestran algunos ejemplos comunes de cómo usar el comando de cambio de nombre:

Reemplazar espacios en nombres de archivos con guiones bajos #

rename 'y/ /_/' *

Convertir nombres de archivos a minúsculas #

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

Convertir nombres de archivo a mayúsculas #

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

Eliminar .bak de los nombres de archivo #

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

Renombrar .jpeg y .JPG nombres de archivo a .jpg #

rename 's/\.jpe?g$/.jpg/i' *

Conclusión #

El rename El comando le permite cambiar el nombre de varios archivos a la vez, utilizando expresiones regulares de Perl.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.


Linux
  1. Comando de cambio de nombre de Linux

  2. Comando ls de Linux - Lista de archivos

  3. Comando mcopy en Linux

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

  5. Encuentre múltiples archivos y cámbieles el nombre en Linux

Comando Rm en Linux

Comando lsof en Linux (10 ejemplos)

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

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

Comando ls en Linux/UNIX