Como contar o número de arquivos em um diretório, mas não recursivamente

23

Pergunta simples, tenho certeza. Eu vi uma resposta que mostra como faça isso incluindo subdiretórios, mas eu quero saber quantos arquivos (não pastas) estão apenas no diretório atual. Obrigado.

    
por bcsteeve 03.11.2013 / 23:55

6 respostas

50
ls -F |grep -v / | wc -l
  1. ls -F lista todos os arquivos e indicador de acréscimo (um de * / = > @ |) para entradas
  2. grep -v / mantém todas as sequências que não contêm uma barra
  3. wc -l count lines
por thom 04.11.2013 / 00:44
12

Experimente este oneliner:

find -maxdepth 1 -type f | wc -l
    
por user85164 04.11.2013 / 00:33
5

Tente isso

ls -al | grep ^[-] | wc -l
  1. ls -al - listar todos os arquivos com formato de listagem longo
  2. grep ^[-] - procura pela string que começa com "-" que é o símbolo para denotar o arquivo regular quando o arquivo de lista com ls -al
  3. wc -l - contar linhas
por andr3w 04.11.2013 / 00:06
2

Eu só quero adicionar resposta de thom porque eu gosto de jogar com Bash . Aqui vai:

echo "Directory $(pwd) has $(ls -F |grep -v / | wc -l) files"

Abaixo está um exemplo de resultado do meu diretório /data :

Directory /data has 580569 file(s).

E abaixo estão minhas explicações:

  1. echo double-quoted-message imprimirá uma mensagem desejável.
  2. $(any-desirable-valid-command) dentro da mensagem com aspas duplas de um echo imprimirá o resultado da execução do comando relacionado.
  3. pwd imprimirá o diretório atual.
  4. ls -F é para listar todos os arquivos e o indicador de acréscimo (um de * / = > @ |) às entradas. Eu copiei isso da resposta thom .
  5. grep -v / é um comando para procurar texto simples, o parâmetro -v / manterá todas as strings que não contêm slash (es).
  6. wc -l imprimirá a contagem de linhas.

Sei que esta pergunta tem 3 anos, não consigo conter o desejo de adicionar outra resposta.

    
por Aditya Kresna 22.11.2016 / 07:38
2

Se você tem tree instalado em seu sistema, você pode usar este comando:

tree -L 1 /path/to/your/directory | tail -n 1

Ele mostra o número de arquivos e diretórios nesse diretório.

-L n mostra a profundidade da pesquisa.

Você pode instalar tree com sudo apt-get install tree .

    
por MOHRE 02.05.2017 / 06:48
-3

Para contar o número total de arquivos com extensão específica, digite:

ls|grep jpg |wc -l
    
por Alexander Chip 20.08.2015 / 17:51