Forum Programmation.shell list les fichiers les plus gros avec path et format human readable ?

Posté par  .
Étiquettes : aucune
0
30
juin
2009
Bonjour

aujourd'hui je souhaitais afficher les 10 fichiers les plus volumineux de mon eeepc via ls avec leur path , la commande utiise est la suivante :



ls -RSsk $PWD/**/* | sort -nr | head



neanmoins je ne comprends pas pourquoi pour certain fichiers , bash ne me renvoye pas le repertoire

la sortie :


tux@gnu:~$ ls -RSsk $PWD/**/* | sort -nr | head

76672 /home/tux/test.01/99-11-30(Tue).mpg
42796 Alive 1997.mp3
19100 13 - Human after alltogetherone more time (reprise)the music sounds better with you.mp3
17224 Ferry Corsten - Radio Crash.mp3
16404 /home/tux/Desktop/1742 - Grand Theft Auto Advance (E) (M5).gba
16404 /home/tux/Desktop/1636 - Pokemon - Fire Red Version (U).gba
16252 13 - Burnin'.mp3
15144 Justice - Stress(Auto remix).mp3
14000 Yelle - A Cause Des Garcons Tepr Remix.mp3
13120 Electromatic - Da Stronger.mp3




Une deuxieme constation lorsque j essaye d avoir la sortie en "human readable" format, il me donne un autre resultat




tux@gnu:~$ ls -RSsh $PWD/**/* | sort -nr | head
1008K Daler Mehndi - Tunak tunak tun.mp3
1004K parts.aiml
984K e0000a38.au
984K e00003e7.au
932K This is Sparta Remix.mp3
912K GTA Liberty City Stories Theme.mp3
908K e0000a29.au
908K e000012a.au
832K e0000558.au
832K e0000512.au




Comment pourrais avoir une sortie en human readable avec le path pour chaque fichier ?

merci
  • # à quoi sert le sort ?

    Posté par  (site web personnel) . Évalué à 2.

    Je ne vois pas à quoi servent le sort et le -R : le Ss trie déjà par taille et le ** fait déjà du récursif. Je fais 'ls -Ssh **/*(.) | head' et j'ai les 10 fichiers les plus volumineux, chemin compris. Le '(.)' n'existe peut-être pas dans bash ; dans zsh, ça permet de ne lister que les fichiers.
    • [^] # Re: à quoi sert le sort ?

      Posté par  . Évalué à 2.

      Bash me donne un : ls: cannot access **/*(.): No such file or directory

      Lorsque j'enleve le (.) :



      tux@gnu:~$ ls -Ssh **/* | head
      75M test.01/99-11-30(Tue).mpg
      17M Desktop/1636 - Pokemon - Fire Red Version (U).gba
      17M Desktop/1742 - Grand Theft Auto Advance (E) (M5).gba
      8.1M Desktop/0449 - Star Wars Episode II - Attack of the Clones (U).gba
      8.1M Desktop/1998 - Star Wars Episode III - Revenge of the Sith (U) (M3).gba
      8.1M Desktop/2157 - One Piece (U).gba
      5.7M FUSL/plan.doctrine.et.classement.biblio.tar.bz2
      4.9M FUSL/peazip-2.5.1.WINDOWS.exe
      4.1M FAUST2.0/rewind.swf
      2.7M FUSL/plan[1].doctrine.et.classement.biblio.tar.bz2



      Hors en deuxieme position j ai normalement le fichier de 42 MB qui est ignorer , il semblerait que tout les fichiers dont il n affichait pas le path (via la commande ls -RSsk $PWD/**/* | sort -nr | head ) ne sont pas pris en compte a la sortie

      Une idee ?
      • [^] # Re: à quoi sert le sort ?

        Posté par  . Évalué à 4.

        bon au moins ca nous donne une idée de script pour le mouchard Hadoepi pour linux ;)


        sinon est-ce que les fichiers pour lesquels il n'affichait pas le répertoire n'étaient tout simplement pas dans PWD ?
      • [^] # Re: à quoi sert le sort ?

        Posté par  (site web personnel) . Évalué à 2.

        Ça voudrait que pour bash, ** ne peut pas représenter un chemin vide ? Ce n'est pas encore au point... Cela dit pour rajouter le contenu du répertoire courant, il suffit de rajouter une étoile :

        ls -Ssh **/* * | head
    • [^] # zsh, zsh, zsh!

      Posté par  . Évalué à 3.

      Puisqu'on utilise zsh, on peut utiliser d'autres fonctions sympathiques :
      "**/*(OL[1,10])" s'expande en les 10 fichiers les plus gros de l'arborescence, et on peut l'utiliser n'importe où puisque c'est une expansion.
      Pour avoir la taille humaine par exemple :
      ls -Uhl **/*(OL[1,10])

      Entre les parenthèses se trouvent des options pour l'expansion du pattern (**/*), le O (order) indique un tri par ordre inverse ('o' pour ordre normal), le 'L' (length) spécifie le critère de tri, la taille. Et les crochets permettent de spécifier l'intervalle des éléments à choisir.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.