Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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