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:
Et ca marche bien
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
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
Résultat optimal souhaité:
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
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
Partager