Cambiar el nombre de los directorios es una de las operaciones más básicas que a menudo necesita realizar en un sistema Linux. Puede cambiar el nombre de los directorios desde el administrador de archivos GUI con un par de clics o usando el terminal de línea de comandos.
Este artículo explica cómo cambiar el nombre de los directorios usando la línea de comandos.
Renombrar directorios
En los sistemas operativos Linux y similares a Unix, puede usar el mv
comando (sin mover) para cambiar el nombre o mover archivos y directorios de una ubicación a otra.
La sintaxis del mv
comando para mover directorios es la siguiente:
mv [OPTIONS] source destination
Por ejemplo, para cambiar el nombre del directorio dir1
como dir2
ejecutaría:
mv dir1 dir2
Al cambiar el nombre de los directorios, debe especificar exactamente dos argumentos para el mv
comando. El primer argumento es el nombre actual del directorio y el segundo es el nuevo nombre.
Es importante señalar que si dir2
ya existe, dir1
se traslada al dir2
directorio.
Para cambiar el nombre de un directorio que no está en el directorio de trabajo actual, debe especificar la ruta absoluta o relativa:
mv /home/user/dir1 /home/user/dir2
Cambio de nombre de varios directorios
Cambiar el nombre de un solo directorio es una tarea simple, pero cambiar el nombre de varios directorios a la vez puede ser un desafío, especialmente para los nuevos usuarios de Linux.
Rara vez es necesario cambiar el nombre de varios directorios a la vez.
Cambiar el nombre de varios directorios conmv
El mv
comando solo puede cambiar el nombre de un archivo a la vez. Sin embargo, se puede usar junto con otros comandos, como find
o dentro de los bucles, para cambiar el nombre de varios archivos a la vez.
Aquí hay un ejemplo que muestra cómo usar el for
bucle Bash para agregar la fecha actual a los nombres de todos los directorios en el directorio de trabajo actual:
for d in *; do
if [ -d "$d" ]; then
mv -- "$d" "${d}_$(date +%Y%m%d)"
fi
done
Analicemos el código línea por línea:
- La primera línea crea un bucle y recorre una lista de todos los archivos.
- La segunda línea comprueba si el archivo es un directorio.
- La tercera línea agrega la fecha actual a cada directorio.
Aquí hay una solución para la misma tarea usando mv
en combinación con find
:
find . -mindepth 1 -prune -type d -exec sh -c 'd="{}"; mv -- "$d" "${d}_$(date +%Y%m%d)"' \;
El find
comando pasa todos los directorios mv
uno por uno usando la -exec
opción. La cadena {}
es el nombre del directorio que se está procesando actualmente.
Como puede ver en los ejemplos, cambiar el nombre de varios directorios mv
no es una tarea fácil, ya que requiere un buen conocimiento de las secuencias de comandos de Bash.
Cambiar el nombre de varios directorios conrename
El rename
comando se utiliza para cambiar el nombre de varios archivos y directorios. Este comando es más avanzado que mv
requiere un conocimiento básico de expresiones regulares.
Hay dos versiones del rename
comando con diferente sintaxis. Usaremos la versión Perl del rename
comando. Los archivos se renombran de acuerdo con la expresión regular de perl dada .
El siguiente ejemplo muestra cómo reemplazar espacios en los nombres de todos los directorios en el directorio de trabajo actual con guiones bajos:
find . -mindepth 1 -prune -type d | rename 'y/ /_/'
Para estar seguro, pase la -n
opción rename
para imprimir los nombres de los directorios a renombrar sin renombrarlos.
Aquí hay otro ejemplo que muestra cómo convertir nombres de directorios a minúsculas:
find . -mindepth 1 -prune -type d | rename 'y/A-Z/a-z/'
Conclusión
Le mostramos cómo usar los mv
comandos para cambiar el nombre de los directorios.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.
0 Comentarios