Listar arquivos maiores que o tamanho especificado


74

Como posso fazer ls (ou qualquer outro comando) listar apenas arquivos maiores que um tamanho de arquivo específico?

Respostas:


128

Use find e sua -sizebandeira.

Para encontrar arquivos maiores que 100 MB:

find . -type f -size +100M

Se você deseja apenas o diretório atual:

find . -maxdepth 1 -type f -size +100M

2
Se você precisa passar o tamanho em bytes, use find . -type f -size +4096c ( superuser.com/a/204571/111289 )
aexl

23

Se você deseja ver todos os arquivos acima de 100 milhões e ver onde eles estão e qual é o tamanho deles, tente o seguinte:

find . -type f -size +100M -exec ls -lh {} \;

11
Faz o mesmo que o primeiro comando de @ Nifle
Luke canadense

11
Eu acho que seria mais fácil usar o parâmetro printf -printf "%p %s". Veja: unixhelp.ed.ac.uk/CGI/man-cgi?find
Nux

@ Nux: boa dica. -printf '%9s %p\n'funcionou bem para mim.
seanf 29/05

2

Use o seguinte:

find / -size gt 2MB

ou:

find / -size => 2000000 

3
Como isso melhora a resposta aceita?
27517 Dave

Apesar de agradecermos sua resposta, seria melhor se ela fornecesse valor adicional além das outras respostas. Nesse caso, sua resposta não fornece valor adicional, pois outro usuário já postou essa solução. Se uma resposta anterior foi útil para você, vote em vez de repetir a mesma informação.
precisa
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.