Me surgió una tarea sencilla: necesitaba contar la cantidad de archivos o carpetas en un directorio específico. Existen diferentes maneras de hacerlo, y en este artículo “Contar el número de archivos en una carpeta en Unix/Linux” te mostraré algunas de ellas.
Usar el comando find
El comando find es más exhaustivo y adecuado para contar archivos de forma recursiva, especialmente cuando se trata de subdirectorios y archivos ocultos. Además, find
puede buscar de manera precisa en todos los subdirectorios sin importar si son visibles o no.
- Para contar todos los archivos en un directorio específico (por ejemplo,
/home/ejemplo
), puedes usar el siguiente comando:
find /home/ejemplo -type f | wc -l
Para contar todos los directorios/carpetas en un directorio específico (por ejemplo, /home/ejemplo
), puedes usar:
find /home/ejemplo -type d | wc -l
Nota: find
es muy potente, pero también puede consumir más recursos en servidores, especialmente si hay muchas subcarpetas y archivos.
Usar el comando ls
Aunque el comando ls es útil, no es tan preciso para contar archivos de forma recursiva en directorios grandes o con archivos ocultos. Además, ls
solo muestra los archivos visibles a menos que se use el modificador adecuado. Si se trata de un directorio pequeño y sin subdirectorios ocultos, ls
puede ser suficiente.
- Para contar todos los archivos no ocultos en un directorio específico:
ls /home/ejemplo | wc -l
- Para contar todos los archivos de forma recursiva en un directorio, usando
ls -lA
para incluir archivos ocultos:
ls -lA /home/ejemplo | grep ^- | wc -l
Nota: El modificador -A
de ls
asegura que se cuenten también los archivos ocultos (que empiezan con un punto). El comando grep ^-
filtra solo los archivos regulares (no carpetas).
- Para contar directorios en un directorio específico:
ls -lA /home/ejemplo | grep ^d | wc -l
- Para contar archivos de un tipo específico (por ejemplo,
.txt
) en un directorio de forma recursiva:
ls -lA /home/ejemplo | grep '\.txt$' | wc -l
Nota: ls
no es tan eficiente para contar archivos de forma recursiva, especialmente cuando se requiere analizar subdirectorios ocultos. Para esos casos, find
es una mejor opción.
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.