Forum Programmation.shell determiner la taille d'un ensemble de fichiers

Posté par  .
Étiquettes : aucune
0
23
août
2005
je fait un script qui determine la taille d'un ensemble de fichier dans un répertoire :
tout se passe bien, mais dès fois si le chiffre calculé est important j'obtient un résultat négative (chiffre < 0) !

voilà ou je suis :

som=0
for i in `ls -lrt FILENAME* | awk '{print $5}'` ; do som=`expr $i + $som` ; done
echo $som

Merci
  • # Hum

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

    Et pourquoi t'utilise pas la commande du (genre du -hs .) ?
    • [^] # Re: Hum

      Posté par  . Évalué à 0.

      du filename*
      donne la taille de chaque fichiers et non la somme.
    • [^] # Re: Hum

      Posté par  . Évalué à 0.

      du filename*
      donne la taille de chaque fichiers et non la somme.
      • [^] # Re: Hum

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

        Et avec l'option -c ? Ok, il ne faut garder que la dernière ligne, mais c'est pas bien difficile...
        • [^] # Re: Hum

          Posté par  . Évalué à 0.

          je suis sur HP-UX l'option -c n'existe pas
  • # AWK

    Posté par  . Évalué à 1.

    awk est suffisant pour ça (enfin j'espére pour HP-UX)

    ls -l FILENAME* | awk '{som=som+$5} END{print som}'
    • [^] # Re: AWK

      Posté par  . Évalué à 0.

      pi6Lohe à ecrit :
      ls -l FILENAME* | awk '{som=som+$5} END{print som}'
      
      à un certain moment si "som" est important on aura un débordement. alors en utilisant "bc" ça marche :
      som=0
      for i in `ls -ltr FILENAME* | awk '{print $5}' ` ;do som=`echo $i+$som|bc -l`;done
      echo $som
      
      l'option : "-l" dans bc est trés importante ( Définir la bibliothéque mathématique standard) sans "-l" on aura un debordement. Merci

Suivre le flux des commentaires

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