Pode ser algo como
find . -type f | wc -l
faria o truque. Tente o comando da pasta pai.
Eu quero encontrar a contagem total do número de arquivos em uma pasta e todas as suas subpastas.
Pode ser algo como
find . -type f | wc -l
faria o truque. Tente o comando da pasta pai.
Use o comando tree
. Pode ser necessário instalar o pacote tree
.
Ele listará todos os arquivos e pastas na pasta especificada e listará um resumo no final.
A maneira mais rápida e fácil é usar tree
. Sua velocidade é limitada pelo seu terminal de saída, então se você canalizar o resultado para tail -1
, você obterá resultados imediatos. Você também pode controlar em qual nível de diretório você gosta dos resultados, usando a opção -L
. Para saída colorida, use -C
. Por exemplo:
$ tree share/some/directory/ | tail -1
558 directories, 853 files
$ tree -L 2 share/some/directory/ | tail -1
120 directories, 3 files
Se ainda não estiver lá, você pode obter aqui .
Para contar arquivos (mesmo arquivos sem extensão) na raiz do diretório atual, use:
ls -l | grep ^- | wc -l
Para contar arquivos (mesmo arquivos sem uma extensão) recursivamente da raiz do diretório atual, use:
ls -lR | grep ^- | wc -l
find -type f -printf . | wc -c
Não conte as linhas de saída de find, porque os nomes dos arquivos, contendo 99 novas linhas, contarão como 100 arquivos.
Use este comando para cada pasta no caminho
for D in *; do echo $D; find $D -type f| wc -l; done
find parece ser mais rápido que tree, então usei abaixo para contar arquivos em cada diretório do diretório de trabalho atual (ignorando arquivos no CWD) permitindo que os diretórios possuam espaços:
ls -d */ | while read dir_line
do
echo -n "$dir_line :"
find "$dir_line" -type f | wc -l
done
Você pode usar find . | wc -l
find .
listará todos os arquivos e pastas e o conteúdo de sua pasta atual.
wc -l
conta os resultados de find
Eu escolheria essa opção:
ls-al | grep -c ^ -
Tags command-line find