Chaine de caractère et Perl
flongo
Messages postés
53
Date d'inscription
Statut
Membre
Dernière intervention
-
loupius -
loupius -
Bonjour,
J'ai un fichier txt composé de chiffres et lettres.
Je veux extraire que ce qui m'interresse dans ce fichier. Par exemple mon fichier est comme suit:
INFO: CLOSE FILE 00000000000000000000.mes->0
Réception 000000 - Date livraison 20080101120000 - Identité MleX (Y) ......
Ce que je veux récupérer est en gras a savoir:
- 00000000000000000000
- 000000
- 20080101120000
- Mle
- X
- Y
J'ai commencé à faire mon programme qui est comme suit :
#!/usr/bin/perl
open (FICHIER, "<P:\\Resul\\reception.txt") or die("Impossible de lire le fichier! \n");
open (WRITER, ">P:\\Resul\\reception2.txt") or die("Impossible d'ecrire dans le fichier! \n");
$ligne=<FICHIER>;
foreach (<FICHIER>) {
$num_mess=substr($ligne,18,20) if /INFO : Close File/ .. /.mes -> 0/;
print $num_mess;
print WRITER;
$num_recep=substr($ligne,10,6) if /Réception/;
print writer;
}
Ca marche pas des masse!
Quelqu'un peut ill m'aider? Y a t'il moyen de supprimer les mots clés qui sont tjs dans mon fichier?
Merci
CDLT
J'ai un fichier txt composé de chiffres et lettres.
Je veux extraire que ce qui m'interresse dans ce fichier. Par exemple mon fichier est comme suit:
INFO: CLOSE FILE 00000000000000000000.mes->0
Réception 000000 - Date livraison 20080101120000 - Identité MleX (Y) ......
Ce que je veux récupérer est en gras a savoir:
- 00000000000000000000
- 000000
- 20080101120000
- Mle
- X
- Y
J'ai commencé à faire mon programme qui est comme suit :
#!/usr/bin/perl
open (FICHIER, "<P:\\Resul\\reception.txt") or die("Impossible de lire le fichier! \n");
open (WRITER, ">P:\\Resul\\reception2.txt") or die("Impossible d'ecrire dans le fichier! \n");
$ligne=<FICHIER>;
foreach (<FICHIER>) {
$num_mess=substr($ligne,18,20) if /INFO : Close File/ .. /.mes -> 0/;
print $num_mess;
print WRITER;
$num_recep=substr($ligne,10,6) if /Réception/;
print writer;
}
Ca marche pas des masse!
Quelqu'un peut ill m'aider? Y a t'il moyen de supprimer les mots clés qui sont tjs dans mon fichier?
Merci
CDLT
A voir également:
- Chaine de caractère et Perl
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractere vide - Guide
1 réponse
Ah Perl est un langage particulier, et trop souvent on l'utilise en mimant d'autres langages, dommage.
Je ne vais bien sûr pas faire tout ton exercice mais seulement la première extraction, ce qui nous donne:
Tu vois, c'est concis. Je te laisse faire le reste.
Bon courage.
Je ne vais bien sûr pas faire tout ton exercice mais seulement la première extraction, ce qui nous donne:
#!/usr/bin/perl use strict; use warnings; open(LIRE, "fichier1.txt") or die("erreur fichier lecture"); open(ECRIRE, ">fichier2.txt") or die("erreur fichier écriture"); while(<LIRE>){ print ECRIRE "$1\n" if /INFO: CLOSE FILE (\d+)\.mes->0/; } close(LIRE); close(ECRIRE);La recherche est peut-être à adapter car j'ai supposé que la chaîne était constituée uniquement de chiffres.
Tu vois, c'est concis. Je te laisse faire le reste.
Bon courage.