¿Contar el número de archivos dentro de un directorio en Linux? [cerrado]


333

Para contar la cantidad de archivos en un directorio, normalmente uso

ls directory | wc -l

Pero, ¿hay otro comando que no use wc?


16
¿Cuál es exactamente el problema wcque te impide usarlo?
— vanza

55
Realmente no. Los comandos de Unix generalmente están destinados a ser utilizados de esta manera, encadenados en tuberías.
— Michael Berkowski

2
Me estoy conectando a través de ssh a otro host para acceder a algunos datos. Desafortunadamente, un montón de comandos básicos no parecen funcionar en este host. Si uso wc, devuelve "comando no reconocido". Entonces estoy buscando otras opciones.
— Kantura

77
Usa el treecomando. Le dará el árbol y en la parte inferior le dirá cuántos archivos y directorios hay. Si desea archivos ocultos también use tree -a.
— Elijah Lynn

55
@vanza " ¿Cuál es exactamente el problema con wc ", ¿qué pasa si un archivo tiene un \nnombre en el archivo? ¡Sí, extremadamente improbable! Pero sigue siendo técnicamente válido y posible.
— JamesThomasMoon1979

Respuestas:


524

este es uno:

ls -l . | egrep -c '^-'

Nota:

ls -1 | wc -l

Lo que significa:: lslistar archivos en dir

-1: (eso es UNO) solo una entrada por línea. Cámbielo a -1a si también quiere archivos ocultos

|: salida de tubería a ...

wc: "el recuento de palabras"

-l: cuenta lines.


1
No, espera . Hice un booboo. Tienes toda la razón, Sajad Lfc. ls -1 dir | egrep -c '' Esto devuelve el número de archivos en dir. Gracias .
— Kantura

1
@SajadKaruthedath ls -l . | egrep -c '^-'no cuenta los archivos ocultos. Sugiero agregar -abandera a ls.
— JamesThomasMoon1979

1
@ JamesThomasMoon1979: compruebe mi descripción
— Sajad Karuthedath

1
Esto muestra un error cuando no hay archivos en la carpeta. Uso ls -1 /dir 2>/dev/null | wc -l. Aquí la salida de ls se dirige a / dev / null y el resultado es un cero limpio
— Sathish

66
@runios es porque ls -ldevuelve una línea adicional en la parte superior que suma los tamaños de archivo por un monto total. Debe usar ls -1y no el ls -l. Además, si uno quiere archivos ocultos pero sin los directorios .y ..debe usarlosls -1A | wc -l
— Daniel Biegler
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.