#1 Le 20/04/2008, à 11:27
- koukia
recuperer un fichier log de mrtg en perl
Bonjour
je suis un débutant en perl et je veux récupérer le contenue de fichier log de mrtg pour faire des tests sur la dernière colonne de ce fichier selon une valeur entrer par l'utilisateur
le format de ce fichier et le suivant;
1036567881 2313865839 3040227868
1036567881 937 713 937 713
1036567581 1561 229 1561 229
1036567500 1831 240 2561 273
1036567200 2473 643 2561 1647
1036566900 2312 1305 2513 1647
Merci pour votre aide
Hors ligne
#2 Le 20/04/2008, à 22:30
- JoelS
Re : recuperer un fichier log de mrtg en perl
La 1ière ligne n'a que 3 valeurs, c'est normal ? Est-ce que tu veut prendre la dernière valeur même dans le cas de la 1ière ligne ou tu veut l'ignorer ?
Hors ligne
#3 Le 21/04/2008, à 17:19
- koukia
Re : recuperer un fichier log de mrtg en perl
Bonjour
je veux que mon script ignore la première ligne et récupère les autre lignes en faisant un test sur la dernière colonne
Hors ligne
#4 Le 21/04/2008, à 21:14
- JoelS
Re : recuperer un fichier log de mrtg en perl
Alors le plus simple et déjà pas mal concis, mais on peut faire mieux (plus verbeux mais aussi efficace) ou bien mieux (encore plus concis mais toujours aussi efficace):
while ( $line = <> ) {
chomp($line);
@line = split(/ /, $line);
next unless defined $line[4];
if ($line[4] == $test ) {
print STDOUT "trouve\n";
}
}
Bon je suppose que tu sait emballer tout ça dans un script Perl correct. Avec ça ton script lit sur l'entrée standard le fichier et teste la 5ième valeur de la ligne lue par rapport à une variable qui contient ta valeur a tester. Bon fais comme ça sans vérifier, mais ça doit être pas loin de quelque chose de correct. A toi de fignoler tout ça.
Hors ligne
#5 Le 24/04/2008, à 15:35
- koukia
Re : recuperer un fichier log de mrtg en perl
merci JoelS sa marche
Hors ligne
#6 Le 29/04/2008, à 11:51
- koukia
Re : recuperer un fichier log de mrtg en perl
Bonjour
je veux faire passer le nom de mon fichier en argument et je sais pas s'il y a un moyen pour ce faire ou pas
Hors ligne
#7 Le 05/05/2008, à 21:21
- JoelS
Re : recuperer un fichier log de mrtg en perl
Pour ta question sur l'argument: les arguments du script Perl sont mis dans le tableau @ARGV.Attention à l'index: comme en C, le premier élément est $ARGV[0].
Si tu as beaucoup d'argument à valider et tester, utilise un paquet qui fait ça, comme Getopt::Long par exemple.
Pour ta deuxième question, c'est quoi le problème ?
Hors ligne