Boucle d'un tableau pour un grep
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:
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:
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:
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