Mac: Como encontro recursivamente os maiores arquivos em um subdiretório (ignorando todos os diretórios)

Mac: Como encontro recursivamente os maiores arquivos em um subdiretório (ignorando todos os diretórios)

Eu tenho um diretório chamado root. Possui subdiretórios profundamente aninhados. Nesses subdiretórios, há vários arquivos. Quero encontrar os maiores arquivos em root.

EUnãodeseja encontrar diretórios. Não me importo com o tamanho do diretório maior, só quero encontrar os arquivos maiores.

root
|
- subdir1
  |
  - small file 1
  - large file 1
  - small file 2
  ... lots more files      
- subdir2
  |
  - small file 3
  - large file 2

Quero imprimir large file 1e large file 2. Não quero imprimir nada sobre root, subdir1, ou subdir2, mesmo que sejam maiores que large file 1ou 2. Isso é apenas barulho para mim.

Como faço isso em um Mac na linha de comando?

Responder1

Vamos lsfazer a classificação->

find . -type f -exec ls -S {} + | head -n10

Responder2

Isto é o que eu descobri:

find . -type f -exec ls -l {} + | sort -rk 5,5 | head -10

Encontre todos os arquivos (isso ignora os diretórios) e depois ls -leles para que eu possa ver seus tamanhos. Passe isso para o tipo. -k 5,5diz para classificar pela 5ª coluna (a coluna que tem tamanho) e -rclassifica em ordem decrescente. head -10me dá os 10 maiores (não a lista completa).

informação relacionada