Bonjour,

Je suis issu du dev web et je débute en shell. J'aimerai créer un script Perl qui sera éxécuter avec un cron et qui fera le travail suivant:

Parser un fichier de log apache:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
::1 - - [21/Apr/2009:09:38:52 +0200] "GET /.gif&utilisation=1&acces=1@stats=2 HTTP/1.1" 200 - "-" "Bla CFNetwork/422.11 Darwin/9.6.3 (i386) (iMac9%2C1)"
::1 - - [21/Apr/2009:09:38:53 +0200] "GET /.gif&utilisation=1&acces=1@stats=3 HTTP/1.1" 200 - "-" "Bla CFNetwork/422.11 Darwin/9.6.3 (i386) (iMac9%2C1)"
::1 - - [21/Apr/2009:09:38:57 +0200] "GET /.gif&utilisation=1&acces=2@carotte=2 HTTP/1.1" 200 - "-" "Bla CFNetwork/422.11 Darwin/9.6.3 (i386) (iMac9%2C1)"
::1 - - [21/Apr/2009:09:38:59 +0200] "GET /.gif&utilisation=1&acces=1@patate=8 HTTP/1.1" 200 - "-" "Bla CFNetwork/422.11 Darwin/9.6.3 (i386) (iMac9%2C1)"
:1 - - [21/Apr/2009:09:38:59 +0200] "GET /.gif&utilisation=1&acces=1@patate=8 HTTP/1.1" 200 - "-" "Bla CFNetwork/422.11 Darwin/9.6.3 (i386) (iMac9%2C1)"
Afin de créer un nouveau fichier CSV qui affichera mes logs de la sorte:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
# ----------------------------------------
# Table
# ----------------------------------------
/.gif&utilisation=1&acces=1@stats=2, 1
/.gif&utilisation=1&acces=1@stats=3, 1
/.gif&utilisation=1&acces=2@carotte=2, 1
/.gif&utilisation=1&acces=1@patate=8, 2
# --------------------------------------------------------------------------------
Il faudrait donc que j'écrive dans ce nouveau CSV en regroupant les lignes identiques et en indiquant leur nombre par le compteur (en gras sur l'exemple)

Dur dur... pouvez-vous m'aider? merci d'avance


merci d'avance