Androide

Cambiar el nombre del comando en Linux (cambiar el nombre de varios archivos)

Copiar, mover, renombrar y eliminar desde la terminal de Ubuntu

Copiar, mover, renombrar y eliminar desde la terminal de Ubuntu

Tabla de contenido:

Anonim

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

Aquí es donde el comando de rename resulta ú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 comando rename para cambiar el nombre de los archivos por lotes.

Instalando rename

Hay dos versiones del comando rename con diferentes sintaxis y características. Utilizaremos la versión Perl del comando 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

Usando rename

La siguiente es la sintaxis general para el comando rename :

rename perlexpr files

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

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

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

Vamos a explicar 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 comando rename 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 la extensión ".css". El 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 la opción -n que realizará una "ejecución en seco" y le mostrará qué archivos serán renombrados:

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

La salida se verá más o menos 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 comando rename no sobrescribe los archivos existentes. Use la opción -f que le dice a rename para sobrescribir los archivos existentes:

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

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

rebautizar

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

Conclusión

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

renombrar terminal