Cómo usar el comando Renombrar en Linux

27 feb 2021 2 min di lettura
Cómo usar el comando Renombrar en Linux
Indice dei contenuti

Introducción

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

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

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

Instalar Renombrar

Hay dos versiones del rename de nombre con diferente sintaxis y funcionalidad. Usaremos la versión Perl del comando de rename

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

Ubuntu y Debian

sudo apt update
sudo apt install rename

CentOS y Fedora

sudo yum install prename

Arch Linux

yay perl-rename

Usar Renombrar

A continuación se muestra la sintaxis general del comando de rename

rename [OPTIONS] perlexpr files

El rename es básicamente un script de Perl. Cambiará el nombre del archivo dado según la perlexpr

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 detalle:

  • s/search_pattern/replacement/ - El operador de sustitución.
  • .css: el modelo de búsqueda. Es el primer argumento del operador de sustitución. El rename buscará este patrón en el nombre de archivo especificado 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 la extensión ".css". El comodín * es un símbolo que se utiliza 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 la -n que hará una "prueba de ejecución" y 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)

De forma predeterminada, el rename no sobrescribe los archivos existentes. Utilice la -f que permite que la rename sobrescriba los archivos existentes:

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

Si desea rename archivos que se han renombrado correctamente, use la -v (detallado - detallado):

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

Ejemplos de

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

Reemplace los espacios en los nombres de archivo con guiones bajos:

rename 'y//_/' *

Convertir nombres de archivos a minúsculas

rename 'y/AZ/az/' *

Convertir nombres de archivo a mayúsculas

rename 'y/az/AZ/' *

Eliminar.bk de los nombres de archivo

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

Cambie el nombre de los archivos.jpeg y.JPG a.jpg

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

Conclusión

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

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.