Manchot-Adelie-Adelie-Penguin

¿Alguna vez te has estrujado la cabeza para poder contar el número de archivos dentro de un directorio y subdirectorios en Linux?

En este breve artículo, veremos cómo puede hacerlo de una manera simple pero precisa.

1) Usando el comando wc

WC command, abreviatura de Word Count, es una herramienta de línea de comandos en sistemas Unix/Linux que se utiliza para imprimir nuevas líneas, contar líneas de números y caracteres en un archivo. El comando también puede combinarse con otras operaciones de tuberías para funciones generales de conteo.

Para contar el número de archivos en un directorio, utiliza la siguiente sintaxis

# ls -1 | wc -l

Desglosemos la sintaxis y veamos qué hace qué:

ls : Lista los archivos
-1  : Este es un UNO. Imprime una entrada por línea. Para imprimir archivos ocultos, cámbielo a -1a
|    : Tuberías de salida a…
wc  : Wordcount
-l  : Cuenta las líneas

Para contar el número de archivos fuera del directorio, puedes especificar el nombre del directorio como se muestra a continuación:

# ls directory_name | wc -l

Para demostrar cómo funcionan estos comandos, vamos a crear un nuevo directorio test_folder, y navegar en él.

# mkdir test_folder && cd test_folder

A continuación, vamos a crear algunos archivos de texto con fines de demostración:

# touch  file1.txt file2.txt file3.txt file4.txt file5.txt

Confirmemos la existencia de los archivos listándolos con el comando ls:

# ls -l

Salida

contar-numero-archivos

Genial, ahora vamos a contar los archivos:

# ls -1 | wc -l

Salida

contar-numero-archivos-01

Del mismo modo, puedes salir del directorio utilizando comando cd.

# cd ..

Y ejecuta:

# ls test_folder | wc -l

Salida

contar-numero-archivos-02

2) Usando el comando tree

tree es una herramienta de línea de comandos de Unix/Linux que imprime recursivamente directorios en un formato de árbol. Muestra cada directorio junto con cualquier subdirectorio dentro de él. Además, también puede mostrar e imprimir el número de archivos en un directorio.

Navega hasta nuestra carpeta de ejemplo test_folder

cd test_folder

Y ahora ejecutamos el comando tree:

tree

Salida

contar-numero-archivos-03

Como puedes ver, los nombres de los archivos junto con el recuento que aparece en la parte inferior se enumeran. Claramente, a través de la observación, el conteo coincide exactamente con el número de archivos creados anteriormente.

4) Comando Rsync

Podemos usar el comando rsync para encontrar el número de archivos de archivos, directorios, enlaces simbólicos.

# rsync --stats --dry-run -ax /etc /test

--dry-run no se utiliza realmente para transferir los archivos. /test debe ser cualquier carpeta vacía o no existente.

# rsync --stats --dry-run -ax /etc /test

Number of files: 1,406 (reg: 622, dir: 187, link: 597)
Number of created files: 1,406 (reg: 622, dir: 187, link: 597)
Number of deleted files: 0
Number of regular files transferred: 622
Total file size: 2,341,951 bytes
Total transferred file size: 2,320,656 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 64,184
Total bytes received: 4,429

sent 64,184 bytes  received 4,429 bytes  137,226.00 bytes/sec
total size is 2,341,951  speedup is 34.13 (DRY RUN)

3) Contar archivos recursivamente a través de directorios y subdirectorios

Para contar archivos recursivamente a través de directorios y subdirectorios usamos el siguiente comando:

# find DIR_NAME -type f | wc -l

Donde:

DIR_NAME es el nombre del directorio

– type f especifica solo archivos

wc (Word Count) cuenta nuevas líneas, palabras y bytes en su entrada

-l  Cuenta nuevas líneas

Si estás contando archivos en el directorio actual, reemplaza DIR_NAME por un punto como se muestra a continuación:

# find . -type f | wc -l

Para incluir otras subcarpetas y archivos dentro de subcarpetas, omite la opción - type f.

find . | wc -l

Espero que este artículo haya sido útil y que ahora puedas contar cómodamente el número de archivos dentro de los directorios y subdirectorios. También, prueba la herramienta ncdu que es una herramienta GUI que también ayuda a encontrar el número de archivos.

 

Fuente: Original | maslinux

¿Quién está en línea?

Hay 10393 invitados y ningún miembro en línea