[shell] Calcul somme de taille de fichiers

Calcul somme de taille de fichiers [shell] - Linux et OS Alternatifs

Marsh Posté le 18-11-2003 à 22:18:14    

J'aimerais calculer la somme de la taille de fichiers portant la meme extension à l'interieur d'un répertoire.
J'ai cherché à droite à gauche mais j'ai rien trouvé de bien probant.
Comme début j'ai :

Code :
  1. #!/bin/bash
  2. total=0
  3. for fic in $(ls *.extension); do


 
Pis aprés je seeeeche...

Code :
  1. $total+= taille($fic)
  2. done
  3. echo $total


un truc du style mais en bash quoi...
merci

Reply

Marsh Posté le 18-11-2003 à 22:18:14   

Reply

Marsh Posté le 18-11-2003 à 22:43:45    


#!/bin/sh
 
total=0
taille=0
 
if [ "$1" != "" ] ; then
    ext="$1"
else ext=avi
fi
 
for taille in `du *.$ext | awk '{print $1}'`
do
total=`expr $total + $taille`
done
echo Taille totale des fichiers $ext listés : $total ko


 
tu peux donner un paramètre sur la ligne de commande, genre "jpg" en lançant le script : ./script jpg et il donnera la taille totale des jpg, si rien n'est indiqué, il prend l'extension par défaut du script qui est ici "avi"

Reply

Marsh Posté le 18-11-2003 à 22:51:14    

Bah c'est nickel, merci !

Reply

Marsh Posté le 19-11-2003 à 02:22:29    

Pour ceux qui aiment faire ça en une ligne :

expr `stat -c'%s +' *` 0


Remplacer * par le pattern voulu, évidemment.

Reply

Marsh Posté le 19-11-2003 à 09:18:57    

du -c *.ext :??:

Reply

Marsh Posté le 19-11-2003 à 10:15:08    

stat n'est pas installé partout.
En une ligne de awk :

Code :
  1. ls -l * | awk '{s+=$5} END {print s}'


 
du affiche la taille en nombre de bloc mais comme le fait remarquer bobuse, il intègre une option permettant de faire un total :

Code :
  1. du -c * | tail -1 | cut -f1
  2. du -c *.pdf | awk 'END { print $1}'


Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed