Cambiar el nombre de los archivos es una de las tareas más básicas que a menudo debe realizar en un sistema Linux. Puede cambiar el nombre de los archivos utilizando un administrador de archivos GUI o mediante la terminal de línea de comandos.
Cambiar el nombre de un solo archivo es fácil, pero cambiar el nombre de varios archivos a la vez puede ser un desafío, especialmente para los usuarios que son nuevos en Linux .
En este tutorial, le mostraremos cómo usar los comandos mv
y rename
para renombrar archivos y directorios.
Cambiar el nombre de los archivos con el comando mv #
El comando mv
(sin mover) se usa para cambiar el nombre o mover archivos desde de un lugar a otro. La sintaxis del comando mv
es la siguiente:
El source
puede ser uno o más archivos, o directorios y destination
puede ser un solo archivo o directorio.
- Si especifica varios archivos como
source
,destination
debe ser un directorio. En este caso, los archivossource
se mueven al directorio de destino. - Si especifica un solo archivo como
source
, y eldestination
destino es un directorio existente, luego el archivo se mueve al directorio especificado. - Para cambiar el nombre de un archivo, debe especificar un solo archivo como
source
y un solo archivo comodestination
destino.
Por ejemplo, para cambie el nombre del archivo file1.txt
como file2.txt
ejecutaría:
Cambiar el nombre de varios archivos con el comando mv #
El comando mv
solo puede cambiar el nombre de un archivo a la vez, pero se puede usar junto con otros comandos como como find
o dentro de bash for
o while
bucles para cambiar el nombre de varios archivos.
El siguiente ejemplo muestra cómo usar el bucle Bash for para cambiar el nombre de todos los .html
archivos en el directorio actual cambiando la extensión .html
a .php
.
Analicemos el código línea por línea:
- La primera línea crea un
for
recorre e itera a través de una lista de todos los archivos con.html
. - La segunda línea se aplica a cada elemento de la lista y mueve el archivo a un uno nuevo reemplazando
.html
con.php
. La parte${file%.html}
utiliza la expansión del parámetro de shell para eliminar la parte.html
del nombre de archivo. -
done
indica el final del segmento del ciclo.
Aquí hay un ejemplo usando mv
en combinación con find
para lograr lo mismo que el anterior:
El está pasando todos los archivos que terminan con .html
en el directorio actual a mv
uno por uno usando el -exec
opción. La cadena {}
es el nombre del archivo que se está procesando actualmente.
Como puede ver en los ejemplos anteriores, el cambio de nombre de varios archivos con no es una tarea fácil ya que requiere un buen conocimiento de las secuencias de comandos Bash.
Cambiar el nombre de los archivos con el comando de cambio de nombre #
El se usa para cambiar el nombre de varios archivos. Este comando es más avanzado que mv
ya que requiere un conocimiento básico de las expresiones regulares.
Hay dos versiones de rename
comando con diferente sintaxis. En este tutorial, usaremos la versión Perl del comando rename
. Si no tiene esta versión instalada en su sistema, puede instalarla fácilmente usando el administrador de paquetes de su distribución.
-
Instale
rename
en Ubuntu y Debian -
Instale
rename
en CentOS y Fedora -
Instalar
rename
en Arch Linux
La sintaxis del comando rename
es la siguiente:
El comando rename
cambiará el nombre del files
de acuerdo con el perlexpr
expresión regular. Puede leer más sobre las expresiones regulares de Perl aquí.
El siguiente ejemplo cambiará todos los archivos con la extensión .html
a .php
:
Puede usar la opción -n
para imprimir los nombres de los archivos a renombrar, sin renombrarlos.
La salida se verá así:
Por defecto, el comando rename
no sobrescribe los archivos existentes. Pase la opción -f
para permitir que los archivos existentes se sobrescriban:
A continuación se muestran algunos más comunes ejemplos de cómo usar el comando rename
:
Conclusión #
Le mostramos cómo usar el y rename
para cambiar el nombre de los archivos.
También hay otros comandos para cambiar el nombre de los archivos en Linux, como mmv
. Los nuevos usuarios de Linux que se sientan intimidados por la línea de comandos pueden utilizar herramientas de cambio de nombre por lotes de GUI como Métamorphose.