Como encontrar a pasta maior? [duplicado]

0

Como encontrar qual pasta no diretório inicial é maior pelo número de arquivos? (excluindo diretórios)

    
por Kein 07.10.2014 / 13:58

4 respostas

0
find -type f -printf '%h\n'|uniq -c|sort -rn|head -1

Você pode substituir "head - < N >" para "cabeça -1", para ver os < N > superiores, ou remova-os completamente para ver a lista completa do menor número de arquivos

De "man find":

   -printf format
     .....
          %h     Leading directories of file's name (all but the last element).  If the file name contains no
                 slashes (since it is in the current directory) the %h specifier expands to ".".
    
por 07.10.2014 / 17:43
2
(cd $HOME && find . -type f) | grep '/.*/' | cut --delimiter=/ --field=1,2 \
 | uniq --count | sort --numeric-sort --reverse \
 | head -1 | cut --delimiter=/ --field=2

i.e. imprima todos os caminhos de arquivo no diretório inicial, use apenas o primeiro nível de 2 diretórios (sendo o primeiro . ), ignorando arquivos no nível superior, agrupe e conte as ocorrências, depois classifique, pegue a primeira entrada e imprima o nome do diretório.

    
por 07.10.2014 / 15:13
0

Se você simplesmente quer dizer qual diretório possui o maior número de arquivos, ignorando seu tamanho, você pode fazer

find ~/ -type d -print0 | 
    while IFS= read -r -d '' dir; do 
        files=$(find "$dir" -maxdepth 1 | wc -l); 
        echo -e "$files\t$dir"; 
    done | sort -n | tail -n 1

Isso, no entanto, também conta os subdiretórios como "arquivos". Para contar apenas arquivos, use este:

find ~/ -type d -print0 | 
    while IFS= read -r -d '' dir; do 
        files=$(find "$dir" -maxdepth 1 -type -f | wc -l); 
        echo -e "$files\t$dir"; 
    done | sort -n | tail -n 1
    
por 07.10.2014 / 16:45
-4

Use o

$ ls

comando ou lista o conteúdo do diretório. Tente algo como:

$ cd /your_directory
$ ls -lA

isso deve funcionar. Verifique o

 man ls 

para ajustar exatamente o que você gostaria de ver.

    
por 07.10.2014 / 14:24

Tags