|
|
|
|
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
Configuration: Windows XP Internet Explorer 7.0
Ah Perl est un langage particulier, et trop souvent on l'utilise en mimant d'autres langages, dommage.
#!/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. |