GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je trier la sortie du -h par taille

Solution 1 :

Depuis GNU coreutils 7.5 publié en août 2009, sort permet un -h paramètre, qui autorise les suffixes numériques du type produit par du -h :

du -hs * | sort -h

Si vous utilisez un tri qui ne prend pas en charge -h , vous pouvez installer GNU Coreutils. Par exemple. sur un ancien Mac OS X :

brew install coreutils
du -hs * | gsort -h

À partir de sort manuel :

-h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)

Solution 2 :

du | sort -nr | cut -f2- | xargs du -hs

Solution 3 :

@Douglas Leeder, une autre réponse :triez la sortie lisible par l'homme de du -h à l'aide d'un autre outil. Comme Perl !

du -h | perl -e 'sub h{%h=(K=>10,M=>20,G=>30);($n,$u)=shift=~/([0-9.]+)(\D)/;
return $n*2**$h{$u}}print sort{h($b)<=>h($a)}<>;'

Diviser en deux lignes pour s'adapter à l'affichage. Vous pouvez l'utiliser de cette façon ou en faire un one-liner, cela fonctionnera dans les deux sens.

Sortie :

4.5M    .
3.7M    ./colors
372K    ./plugin
128K    ./autoload
100K    ./doc
100K    ./syntax

MODIF : Après quelques parties de golf chez PerlMonks, le résultat final est le suivant :

perl -e'%h=map{/.\s/;99**(ord$&&7)-$`,$_}`du -h`;[email protected]{sort%h}'

Solution 4 :

Il existe un outil extrêmement utile que j'utilise, appelé ncdu, conçu pour rechercher ces dossiers et fichiers embêtants à forte utilisation du disque et les supprimer. Il est basé sur console, rapide et léger, et propose des packages sur toutes les principales distributions.

Solution 5 :

du -k * | sort -nr | cut -f2 | xargs -d '\n' du -sh

Linux
  1. Comment puis-je boucler sur la sortie d'une commande shell ?

  2. Comment puis-je voir la sortie dmesg à mesure qu'elle change?

  3. Comment un processus peut-il apparaître comme ayant un nom différent dans la sortie ps ?

  4. Comment trier cette sortie 1,10,11..2

  5. Comment puis-je masquer la sortie d'une application shell sous Linux ?

Comment utiliser du Command sous Linux

Comment puis-je filtrer les résultats uniques de la sortie grep ?

Comment puis-je trier les ls par propriétaire et groupe ?

Comment puis-je faire en sorte que ls affiche d'abord les fichiers de points?

Comment puis-je surveiller le disque io ?

Comment trier la sortie ps par heure de début de processus ?