Bonjour,

Je débute en shell et j'aurai besoin d'un coup de main.

Je voudrai compter combien de fois un élément d'un tableau est trouvé dans une période donnée.

J'ai commencé par faire une boucle sur compter un élément sur un mois:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
#Log date
HD=20140901
 
while test "$HD" -le "20140930"
 
 
do
 
	zgrep -i 'Company1' "$HD"_.log.gz | wc -l >> /tmp/grepcompany
 
	HD=$[HD+1]
 
done
Et ca marche bien
Resultat obtenu:
cat /tmp/grepcompany
0
2
6 ...

Et maintenant j'aimerai que le texte 'company1' soit un tableau comprenant plein de company;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
tab_company[0]=company1
tab_company[1]=company2
tab_company[2]=company3

Du coup j'ai fait le code suivant mais ca marche pas

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
17
18
19
20
21
22
23
24
25
26
27
HD=20140801
tab_company[0]=company1
tab_company[1]=company2
tab_company[2]=company3
 
i=0
 
 
for i in ${tab_company[*]}
 
 
 
do
 
	while test "$HD" -le "20140831"
 
 
	do
		zgrep -i $tab_company[i] "$HD"_.log.gz | wc -l >> /tmp/grepcompany
 
		HD=$[HD+1]
 
	done
 
	i=i+1
 
done
Résultat optimal souhaité:
Un fichier par company avec le nombre de fois trouvé par jour.
cat company1
0
2
6...

cat company2
5
2
7...

Auriez vous une idée ?

PS: Comment fait on pour mettre des éléments d'un fichier dans un tableau.
Mon tableau est égale à /tmp/listcompany et donc j'aimerai consulter ce fichier
cat /tmp/listcompany
Company1
Company2
Company3


Merci pour votre aide et commentaires,
djamat