Lister les fichiers plus gros que la taille du fichier spécifié

75

Comment puis-je faire en sorte que ls (ou toute autre commande) ne répertorie que les fichiers de taille supérieure à une taille de fichier spécifique?

Johnny
la source

Réponses:

129

Utilisez find et son -sizedrapeau.

Pour trouver des fichiers de plus de 100 Mo:

find . -type f -size +100M

Si vous ne voulez que le répertoire actuel:

find . -maxdepth 1 -type f -size +100M
Fusil
la source
2
Si vous devez passer la taille en octets, utilisez find . -type f -size +4096c ( superuser.com/a/204571/111289 )
aexl
23

Si vous souhaitez voir tous les fichiers de plus de 100M et voir où ils se trouvent et quelle est leur taille, essayez ceci:

find . -type f -size +100M -exec ls -lh {} \;
Ofir Zvik
la source
1
Fait la même chose que le premier commandement de @ Nifle
Canadien Luke REINSTATE MONICA
1
Je pense qu'il serait plus facile d'utiliser le paramètre printf -printf "%p %s". Voir: unixhelp.ed.ac.uk/CGI/man-cgi?find
Nux
@Nux: bon conseil. -printf '%9s %p\n'a bien fonctionné pour moi.
Seanf
2

Utilisez le suivant:

find / -size gt 2MB

ou:

find / -size => 2000000 
Farhan Ahmed
la source
3
Comment cela améliore-t-il la réponse acceptée?
Dave M
Bien que nous vous remercions pour votre réponse, il serait préférable qu’elle apporte une valeur ajoutée aux autres réponses. Dans ce cas, votre réponse n'apporte aucune valeur supplémentaire, puisqu'un autre utilisateur a déjà publié cette solution. Si une réponse précédente vous a aidé, vous devriez la voter au lieu de répéter les mêmes informations.
Toby Speight