57 votes

Comment trier tous les fichiers par taille dans un répertoire ?

Comment afficher les fichiers d'un répertoire Unix triés selon leur taille lisible par l'homme, du plus grand au plus petit ?

J'ai essayé

du -h | sort -V -k 1 

mais cela ne semble pas fonctionner.

63voto

ls(1) /sort :

-S     sort by file size

40voto

kev Points 11612
$ ls -lhS

-l     use a long listing format
-h     with -l, print sizes in human readable format (e.g., 1K 234M 2G)
-S     sort by file size

19voto

ztank1013 Points 471

Si vous disposez des sort que vous pouvez simplement utiliser :

du -h | sort -rh

Le mien est

$ sort --version
sort (GNU coreutils) 8.12

6voto

Andrew_1510 Points 241

du -ha | sort -h

du : estimation de l'utilisation du disque d'un fichier.

-h : for human
-a : all files

sort : trier des lignes de texte.

-h : for human

man du; man sort pour en savoir plus. Cela fonctionne pour moi sur ubuntu v15.

4voto

John Feminella Points 1268

ls -S n'était pas une option du système d'exploitation pour moi. Ce qui suit a fonctionné :
ls -l | sort -k 5nr
La "clé" consistait à spécifier la colonne à trier (vous l'avez compris, la "clé"). Ci-dessus, je spécifie -k 5nr sens trier sur la 5ème colonne qui est la taille (5) évaluée comme un nombre (n) dans l'ordre décroissant (n)

Référence trier la documentation pour plus d'informations

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X