GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo cambiar el nombre de los archivos en Linux

Introducción

Linux ofrece varias opciones para cambiar el nombre de los archivos, incluido el uso de la GUI y varios comandos de terminal dedicados. Esto hace que sea relativamente fácil cambiar el nombre de archivos individuales, pero puede ser un desafío cambiar el nombre de varios archivos a la vez.

En este tutorial, repasaremos diferentes comandos que puede usar en la terminal de Linux para cambiar el nombre de los archivos en Linux.

Requisitos previos

  • Un sistema que ejecuta una distribución de Linux
  • Una cuenta con privilegios sudo
  • Acceso a la ventana de terminal/línea de comandos
  • Acceso a un editor de texto, como Vim o Nano

Renombra archivos con el comando mv

Linux mv El comando (mover) se usa para mover archivos y directorios desde la terminal. Utiliza la siguiente sintaxis:

mv [options] [source] [destination]

Si especifica un directorio como destino al utilizar mv comando, el archivo fuente se mueve a ese directorio. Si el destino es otro nombre de archivo, el mv El comando cambia el nombre del archivo de origen a ese nombre en su lugar.

Cambie el nombre de un solo archivo con el comando mv

Usando el mv El comando con su sintaxis predeterminada le permite cambiar el nombre de un solo archivo:

mv [options] [current file name] [new file name]

Por ejemplo, si queremos cambiar el nombre de example1.txt en ejemplo2.txt , usaríamos:

mv example1.txt example2.txt

Dado que no hay salida si el comando es exitoso, estamos usando ls comando para verificar si el nombre ha cambiado:

ls -l

Cambie el nombre de varios archivos con el comando mv

Por sí solo, el mv El comando cambia el nombre de un solo archivo. Sin embargo, combinarlo con otros comandos le permite cambiar el nombre de varios archivos al mismo tiempo.

Un método es usar el find comando para seleccionar varios archivos con un nombre similar, luego use el mv comando para renombrarlos:

find . -depth -name "[current file name element]" -exec sh -c 'f="{}"; mv -- "$f" "${f%[current file name element]}[new file name element]"' \;

Con esta sintaxis, find El comando define un elemento del nombre del archivo actual como parámetro de búsqueda. A continuación, -exec ejecuta el mv Comando en cualquier archivo que coincida con la búsqueda, cambiando sus nombres de archivo actuales al nuevo.

Por ejemplo, si tenemos example1.txt , ejemplo2.txt y ejemplo3.txt y desea cambiar la extensión a .pdf :

find . -depth -name "*.txt" -exec sh -c 'f="{}"; mv -- "$f" "${f%.txt}.pdf"' \;

Otro método es usar el mv comando como parte de un <strong>for</strong> bucle en un script bash.

Usando el mismo ejemplo, comience creando y abriendo un archivo de script bash usando un editor de texto como Nano:

sudo nano rename_files.sh

Agregue las siguientes líneas al script:

#!/bin/bash
for f in *.txt; do
    mv -- "$f" "${f%.txt}.pdf"
done

En el guión de arriba:

  • La primera línea le indica al script que busque todos los archivos en el directorio actual que terminan en .txt .
  • La segunda línea usa el mv comando en cada archivo encontrado para reemplazar el .txt extensión con .pdf .
  • La tercera línea finaliza el segmento de bucle.

Presiona Ctrl+X , luego escribe Y y presiona Entrar para guardar los cambios en el script y salir.

Usa el sh comando para ejecutar el script:

sh rename_files.sh

Cambie el nombre del archivo con el comando de cambio de nombre

El rename El comando se usa para cambiar el nombre de varios archivos o directorios en Linux. Ofrece más funciones que el mv pero puede ser más difícil de usar ya que requiere un conocimiento básico de las expresiones de Perl.

Cómo instalar el comando de cambio de nombre

En muchas distribuciones de Linux, el rename El comando no está disponible de forma predeterminada. Si a su sistema le falta el rename comando, instálelo con:

  • Para Ubuntu y Debian, use sudo apt install rename
  • Para CentOS y Fedora, use sudo yum install prename
  • Para Arch Linux, use sudo pacman -S renombrar

cambiar el nombre de la sintaxis y las opciones del comando

Hay tres tipos de expresiones regulares de Perl:match , sustituir y traducir . El rename El comando utiliza expresiones de sustitución y traducción para cambiar los nombres de archivos y directorios.

Las expresiones de sustitución reemplazan una parte del nombre del archivo con una cadena diferente. Usan la siguiente sintaxis:

rename [options] 's/[filename element]/[replacement]/' [filename]

Con esta sintaxis, el comando cambia el nombre del archivo reemplazando la primera aparición del elemento de nombre de archivo con el reemplazo . En el comando anterior:

  • rename :Invoca el comando de cambio de nombre.
  • [options] :proporciona un argumento opcional que cambia la forma en que se ejecuta el comando.
  • s :indica una expresión sustituta.
  • [filename element] :especifica la parte del nombre de archivo que desea reemplazar.
  • [replacement] :especifica un reemplazo para la parte del nombre de archivo actual.
  • [filename] :define el archivo que desea cambiar de nombre.

Una expresión de traducción traduce una cadena de caracteres a otra, carácter por carácter. Este tipo de expresión utiliza la siguiente sintaxis:

rename [options] 'y/[string 1]/[string 2]/' [filename]

Un ejemplo de un rename comando usando una expresión de traducción:

rename 'y/abc/xyz/'

En este ejemplo, cada a el carácter en el nombre del archivo se reemplaza por una x , cada b por un y , y cada c por un z .

El renombrar El comando utiliza las siguientes opciones:

  • -a :Reemplaza todas las apariciones del elemento de nombre de archivo en lugar de solo la primera.
  • -f :Obliga a sobrescribir los archivos existentes.
  • -h :muestra el texto de ayuda.
  • -i :muestra un aviso antes de sobrescribir los archivos existentes.
  • -l :Reemplaza la última aparición del elemento de nombre de archivo en lugar de la primera.
  • -n :Realiza una ejecución de prueba, sin realizar cambios permanentes. Mejor combinado con la salida detallada (-v ).
  • -s :cambia el nombre del objetivo en lugar del enlace simbólico.
  • -v :muestra una versión detallada de la salida.
  • -V :Muestra la versión del comando.

Ejemplos de comandos de cambio de nombre

1. Cambiar extensión de archivo

Volviendo a nuestro último ejemplo, para cambiar la extensión del archivo de .txt a .pdf , usa:

rename -v 's/.txt/.pdf/' *.txt

2. Sustitución de una parte de un nombre de archivo

Reemplazar una parte diferente del nombre del archivo sigue la misma sintaxis. Para cambiar el nombre de example1.txt , ejemplo2.txt y ejemplo3.txt a prueba1.txt , prueba2.txt y texto3.txt , usa:

rename -v 's/example/test/' *.txt

3. Eliminar una parte de un nombre de archivo

El rename La opción también le permite eliminar una parte del nombre del archivo omitiendo la parte de reemplazo de la expresión. Por ejemplo, si queremos acortar example en ex :

rename -v 's/ample//' *.txt

4. Renombrar archivos con nombres similares

Otro uso para rename La opción es cambiar el nombre de los archivos con nombres similares. Por ejemplo, si queremos cambiar el nombre de los archivos con example y muestra en su nombre para probar :

rename -v 's/(ex|s)ample/test/' *.txt

5. Cambiar el nombre de los archivos carácter por carácter

El rename El comando también le permite usar expresiones de traducción para cambiar el nombre de los archivos carácter por carácter. Por ejemplo, si desea cambiar el nombre de varios archivos llamados archivo de ejemplo reemplazando el espacio en blanco con un guión bajo (_ ):

rename -v 'y/ /\_/' *.txt

6. Convertir caracteres en minúsculas

Para convertir caracteres en minúsculas en nombres de archivos en caracteres en mayúsculas, use:

rename -v 'y/a-z/A-Z/' *.txt

7. Convertir caracteres en mayúsculas

Lo contrario también funciona si cambiamos el orden de los caracteres en mayúsculas y minúsculas en la expresión:

rename -v 'y/A-Z/a-z/' *.TXT

Ubuntu
  1. Cómo encontrar archivos en Linux

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

  3. Cómo usar el comando Su en Linux

  4. Cómo crear archivos de cierto tamaño en Linux

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

Comando tar de Linux:cómo comprimir archivos en Linux

Cómo ordenar archivos en Linux (GUI y Shell)

Cómo mostrar dos archivos uno al lado del otro en Linux

Cómo copiar archivos en Linux usando el comando CP

Cómo contar archivos en el directorio en Linux

Cómo encontrar carpetas en Linux