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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
#!/usr/bin/perl
# Configuration
#
use strict;
# Initialisaton des Variable
my $JOUR;
my $MOIS;
my $ANNEE;
my $HEURE;
my $MINUTE;
my $SECONDE;
my $ID_MACHINE;
my $PID;
my $MESSAGE;
my $TEMP;
# initialisation des Hachages
my %PARAM;
my %COMPTEUR;
$PARAM{REC}{NOM}="RECHARGEMENT";
$PARAM{REC}{EXPRESSION}="REC_";
$PARAM{REC}{TEMP_MAX};
$PARAM{REC}{TEMP_MOY};
$PARAM{CSL}{NOM}="CONSULTATION";
$PARAM{CSL}{EXPRESSION}="CSL_DOSCP";
$PARAM{CSL}{TEMP_MAX};
$PARAM{CSL}{TEMP_MOY};
### CODE
#
my $FICHIER=@ARGV;
while ( <> ) {
chomp;
## Recupere dans la ligne les different champs composant la date et l'heure
($JOUR, $MOIS, $ANNEE, $HEURE, $MINUTE, $SECONDE, $ID_MACHINE, $PID, $MESSAGE )
= /(\d+)\/(\d+)\/(\d+):(\d+)\/(\d+)\/(\d+) *(\w+) *(\d+) (.*)/ ;
## Recupere le temp de reponce de la trame
#PRB1
if ( $MESSAGE =~ m/(\<\d\.\d+\>)/ ) {
$_ = $&;
my $TEMP = s/<|>//;
# $TEMP = $&;
}
else {
my $TEMP = 0.0000;
}
#EXEMPLE1
foreach my $param (sort keys %PARAM) {
if ( $MESSAGE =~ /$PARAM{$param}{EXPRESSION}/ ) {
$COMPTEUR{$param}{$ANNEE}{$MOIS}{$JOUR}{$HEURE}{$MINUTE}++;
}
}
# print "$TEMP \n";
}
# Affichage des resultats du traitement
foreach my $i (0..59) {
#PRB2 foreach $i ( sort keys %COMPTEUR{$param}{$ANNEE}{$MOIS}{$JOUR}{$HEURE} ) {
foreach my $param (sort keys %PARAM) {
if ( $COMPTEUR{$param}{$ANNEE}{$MOIS}{$JOUR}{$HEURE}{$i} eq "" ) {
$COMPTEUR{$param}{$ANNEE}{$MOIS}{$JOUR}{$HEURE}{$i} = 0;
}
#PRB3 ( sort keys %COMPTEUR{$param}{$ANNEE}{$MOIS}{$JOUR}{$HEURE}) ;
print "A la minute $i il y a eu $COMPTEUR{$param}{$ANNEE}{$MOIS}{$JOUR}{$HEURE}{$i} $param\n";
}
} |
Partager