Split document texte
Fermé
RGWhitestar
Messages postés
2
Date d'inscription
mercredi 29 janvier 2014
Statut
Membre
Dernière intervention
30 janvier 2014
-
29 janv. 2014 à 16:04
RGWhitestar Messages postés 2 Date d'inscription mercredi 29 janvier 2014 Statut Membre Dernière intervention 30 janvier 2014 - 30 janv. 2014 à 13:23
RGWhitestar Messages postés 2 Date d'inscription mercredi 29 janvier 2014 Statut Membre Dernière intervention 30 janvier 2014 - 30 janv. 2014 à 13:23
A voir également:
- Split document texte
- Signer un document word - Guide
- Excel cellule couleur si condition texte - Guide
- Transcription audio en texte word gratuit - Guide
- Texte open document - Guide
2 réponses
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
Modifié par [Dal] le 30/01/2014 à 11:28
Modifié par [Dal] le 30/01/2014 à 11:28
Salut RGWhitestar,
Je suppose qu'il n'y a qu'une ligne dans ton fichier texte, et que s'il y a des lignes additionnelles, elles doivent être ignorées.
Avec une regexp simple, tu peux vérifier le format des données présentées sur la ligne et capturer les données qui t'intéressent.
par exemple, comme cela :
Le programme ne traite que la première ligne, s'il y a d'autres lignes, elles sont ignorées sans générer d'erreurs.
La regexp matche :
1- une ligne commençant par
2- un ou plusieurs chiffres
3- suivis d'une virgule
4- suivie d'un ou plusieurs chiffres
5- avec rien d'autre sur la ligne
6- les parenthèses capturantes conservent les valeurs matchées en 2 et 4 dans les variables spéciales $1 et $2, que l'on range dans des variables utilisables dans la suite du programme.
Si la ligne ne matche pas, un message d'erreur de format l'indique et termine le programme.
Dal
Je suppose qu'il n'y a qu'une ligne dans ton fichier texte, et que s'il y a des lignes additionnelles, elles doivent être ignorées.
Avec une regexp simple, tu peux vérifier le format des données présentées sur la ligne et capturer les données qui t'intéressent.
par exemple, comme cela :
#!/usr/bin/perl use strict; use warnings; my $filename = 'RGWhitestar.txt'; open my $file, $filename or die "Could not open $filename: $!"; my $line; while ($line = <$file>) { print $line; last if $. == 1; } close $file; my $stat_nag = ""; my $nb_jours = ""; if ($line =~ /^([0-9]+),([0-9]+)$/) { $stat_nag = $1; $nb_jours = $2; print "code pour le statut Nagios : $stat_nag\n"; print "nombre de jour qui sépare la sauvegarde : $nb_jours\n"; } else { print "Erreur de format\n"; exit; } # faire quelque chose avec $stat_nag et $nb_jours
Le programme ne traite que la première ligne, s'il y a d'autres lignes, elles sont ignorées sans générer d'erreurs.
La regexp matche :
1- une ligne commençant par
2- un ou plusieurs chiffres
3- suivis d'une virgule
4- suivie d'un ou plusieurs chiffres
5- avec rien d'autre sur la ligne
6- les parenthèses capturantes conservent les valeurs matchées en 2 et 4 dans les variables spéciales $1 et $2, que l'on range dans des variables utilisables dans la suite du programme.
Si la ligne ne matche pas, un message d'erreur de format l'indique et termine le programme.
Dal
RGWhitestar
Messages postés
2
Date d'inscription
mercredi 29 janvier 2014
Statut
Membre
Dernière intervention
30 janvier 2014
30 janv. 2014 à 13:23
30 janv. 2014 à 13:23
Merci beaucoup pour c'est précision j'ai réussi à adapter mon code et tout fonctionne :)