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?

Johnny
fonte

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
Nifle
fonte
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 {} \;
Ofir Zvik
fonte
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 
Farhan Ahmed
fonte
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