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é.
Est-ce qu'il y a moyen de faire mieux et plus rapidement ?
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
Merci
Partager