Pregunta simple, estoy seguro. He visto una respuesta que muestra cómo hacerlo, incluidos los subdirectorios, pero quiero saber cuántos archivos (no carpetas) están solo en el directorio actual. Gracias.
Pregunta simple, estoy seguro. He visto una respuesta que muestra cómo hacerlo, incluidos los subdirectorios, pero quiero saber cuántos archivos (no carpetas) están solo en el directorio actual. Gracias.
Respuestas:
ls -F |grep -v / | wc -l
ls -F
enumerar todos los archivos y agregar indicador (uno de * / => @ |) a las entradas grep -v /
mantener todas las cadenas que no contengan una barra wc -l
contar líneasPrueba este oneliner:
find -maxdepth 1 -type f | wc -l
Prueba esto
ls -al | grep ^[-] | wc -l
ls -al
- Listar todos los archivos con formato de listado largogrep ^[-]
- busque una cadena que comience con "-" que es un símbolo para denotar el archivo normal cuando el archivo de lista con ls -alwc -l
- recuento de líneas-
porl
Solo quiero agregar la respuesta de Thom porque me gusta jugar con Bash . Aquí va:
echo "Directory $(pwd) has $(ls -F |grep -v / | wc -l) files"
A continuación se muestra un ejemplo de mi /data
directorio:
Directory /data has 580569 file(s).
Y abajo están mis explicaciones:
echo double-quoted-message
imprimirá un mensaje deseable.$(any-desirable-valid-command)
dentro del mensaje doblemente citado de un echo
imprimirá el resultado de la ejecución del comando relacionado.pwd
imprimirá el directorio actual.ls -F
es para listar todos los archivos y agregar el indicador (uno de * / => @ |) a las entradas. Copié esto de la respuesta de Thom .grep -v /
es un comando para buscar texto sin formato, el -v /
parámetro mantendrá todas las cadenas que no contengan barra (s).wc -l
imprimirá el recuento de líneas.Sé que esta pregunta tiene 3 años, simplemente no puedo contener mi impulso de agregar otra respuesta.
Para contar la cantidad total de archivos con extensión específica, puede escribir:
ls|grep jpg |wc -l