Bonjour, je dois faire une recherche pour 31 fichiers d'archives du mois d'octobre qui sont compressés. Mon script marchait bien dans mes tests avec un petit fichier, mais lorsque je roule pour les 31 fichiers de 10 meg chaque, c'est énormément long !

Je suis pas un as en Ksh, alors comment pourrais-je sauver du temps quand on sait que chaque fichier contient 300 000 lignes lorsque décompressé ?

Voici le pseudo du code :

> Je fais un gunzip -c sur tous les fichiers du mois d'octobre et pour chaque ligne lue, si la ligne contient la valeur 2000, je place dans un compteur le montant et la quantité d'usage que je garde à la fin dans un fichier donné.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
integer ttlQtyUsage=0
integer ttlAmount=0
 
gunzip -c usage-2008-10-[0-9][0-9].gz | while read line
do  
  typeUsageRead=`echo $line|cut -c69-72`
 
  if [ $typeUsageRead = "2000"  ]; then
     typeset -i qtyUsageRead=`echo "$line"|cut -c270-277`
     typeset -i amountRead=`echo "$line"|cut -c306-313`
     ttlQtyUsage=$ttlQtyUsage+$qtyUsageRead
     ttlAmount=$ttlAmount+$amountRead
  fi  
done
 
print "$ttlQtyUsage,$ttlAmount" >> monfichier.txt
Est-ce qu'il y a moyen de faire mieux et plus rapidement ?

Merci