Extraire le contenu d'un fichier avec perl
titexe
Messages postés
55
Date d'inscription
Statut
Membre
Dernière intervention
-
Waba -
Waba -
Bonjour,
nous recevons toujours des fichiers dans le format ci_dessous et on voudrait extraire que la derniére partie dans un autre fichier avec un script perl;
le format du fichier recus :
This is a multi-part message in MIME format.
------=_NextPart_000_0121_01C708D0.7AEEAB30
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
-----Message d'origine-----
De : KHALID MONCEF
Envoyé : mercredi 15 novembre 2006 15:49
À : 'pfe@gis.ma'
Objet : Envoi d'un message : OR99CT99SMIMESIGNECRYPTE_15-11-2006.unl
Le message est prêt à être envoyé avec le fichier suivant ou les liens
joints :
OR99CT99SMIMESIGNECRYPTE_15-11-2006.unl
Remarque : pour se protéger de virus informatiques, il se peut que les
programmes de messagerie électronique évitent d'envoyer ou de recevoir
certains types de pièces jointes. Vérifiez les paramètres de sécurité de
votre messagerie électronique pour déterminer de quelle manière les pièces
jointes sont gérées.
------=_NextPart_000_0121_01C708D0.7AEEAB30
Content-Type: application/octet-stream;
name="OR99CT99SMIMESIGNECRYPTE_15-11-2006.unl"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="OR99CT99SMIMESIGNECRYPTE_15-11-2006.unl"
@|99|OR|99|CT|200608091600|2006|212121||DD|TEST||||
D|2006|121201300030001011|08|1|1014|1365|xxxxx|1|1|10|10/01/2005|20/01=/2005||||||
D|2006|121201300030001012|08|1|1014|1365|xxxxxxx|1|2|11|10/01/2005|20/01=/2005||||||
D|2006|121201300000001040|08|1|1014|1365|xxxxxxx|2|3|15|15/01/2005|21/01=/2005||||||
D|2006|121201300000001060|08|1|1014|1365|xxxxxxxx|2|4|16|15/01/2005|21/01=/2005||||||
D|2006|320011300800001011|08|3200113008|1014|1365|4000000|3|5|12|12/01/2005|21/01/2005||||||
D|2006|320011300800001020|08|3200113008|1014|1365|4000000|3|6|13|13/01/2=2005|21/01/2005||||||
&|6|
---_NextPart_000_0121_01C708D0.7AEEAB30--
ce que nous voulons extraire , c'est juste la derniére partie:
filename="OR99CT99SMIMESIGNECRYPTE_15-11-2006.unl"
@|99|OR|99|CT|200608091600|2006|212121||DD|TEST||||
D|2006|121201300030001011|08|1|1014|1365|xxxxx|1|1|10|10/01/2005|20/01=/2005||||||
D|2006|121201300030001012|08|1|1014|1365|xxxxxxx|1|2|11|10/01/2005|20/01=/2005||||||
D|2006|121201300000001040|08|1|1014|1365|xxxxxxx|2|3|15|15/01/2005|21/01=/2005||||||
D|2006|121201300000001060|08|1|1014|1365|xxxxxxxx|2|4|16|15/01/2005|21/01=/2005||||||
D|2006|320011300800001011|08|3200113008|1014|1365|4000000|3|5|12|12/01/2005|21/01/2005||||||
D|2006|320011300800001020|08|3200113008|1014|1365|4000000|3|6|13|13/01/2=2005|21/01/2005||||||
&|6|
D'avance merci,
je suis qu'un débutant , merci de m'aider a completer cette tache,
Cordialement.
nous recevons toujours des fichiers dans le format ci_dessous et on voudrait extraire que la derniére partie dans un autre fichier avec un script perl;
le format du fichier recus :
This is a multi-part message in MIME format.
------=_NextPart_000_0121_01C708D0.7AEEAB30
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
-----Message d'origine-----
De : KHALID MONCEF
Envoyé : mercredi 15 novembre 2006 15:49
À : 'pfe@gis.ma'
Objet : Envoi d'un message : OR99CT99SMIMESIGNECRYPTE_15-11-2006.unl
Le message est prêt à être envoyé avec le fichier suivant ou les liens
joints :
OR99CT99SMIMESIGNECRYPTE_15-11-2006.unl
Remarque : pour se protéger de virus informatiques, il se peut que les
programmes de messagerie électronique évitent d'envoyer ou de recevoir
certains types de pièces jointes. Vérifiez les paramètres de sécurité de
votre messagerie électronique pour déterminer de quelle manière les pièces
jointes sont gérées.
------=_NextPart_000_0121_01C708D0.7AEEAB30
Content-Type: application/octet-stream;
name="OR99CT99SMIMESIGNECRYPTE_15-11-2006.unl"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="OR99CT99SMIMESIGNECRYPTE_15-11-2006.unl"
@|99|OR|99|CT|200608091600|2006|212121||DD|TEST||||
D|2006|121201300030001011|08|1|1014|1365|xxxxx|1|1|10|10/01/2005|20/01=/2005||||||
D|2006|121201300030001012|08|1|1014|1365|xxxxxxx|1|2|11|10/01/2005|20/01=/2005||||||
D|2006|121201300000001040|08|1|1014|1365|xxxxxxx|2|3|15|15/01/2005|21/01=/2005||||||
D|2006|121201300000001060|08|1|1014|1365|xxxxxxxx|2|4|16|15/01/2005|21/01=/2005||||||
D|2006|320011300800001011|08|3200113008|1014|1365|4000000|3|5|12|12/01/2005|21/01/2005||||||
D|2006|320011300800001020|08|3200113008|1014|1365|4000000|3|6|13|13/01/2=2005|21/01/2005||||||
&|6|
---_NextPart_000_0121_01C708D0.7AEEAB30--
ce que nous voulons extraire , c'est juste la derniére partie:
filename="OR99CT99SMIMESIGNECRYPTE_15-11-2006.unl"
@|99|OR|99|CT|200608091600|2006|212121||DD|TEST||||
D|2006|121201300030001011|08|1|1014|1365|xxxxx|1|1|10|10/01/2005|20/01=/2005||||||
D|2006|121201300030001012|08|1|1014|1365|xxxxxxx|1|2|11|10/01/2005|20/01=/2005||||||
D|2006|121201300000001040|08|1|1014|1365|xxxxxxx|2|3|15|15/01/2005|21/01=/2005||||||
D|2006|121201300000001060|08|1|1014|1365|xxxxxxxx|2|4|16|15/01/2005|21/01=/2005||||||
D|2006|320011300800001011|08|3200113008|1014|1365|4000000|3|5|12|12/01/2005|21/01/2005||||||
D|2006|320011300800001020|08|3200113008|1014|1365|4000000|3|6|13|13/01/2=2005|21/01/2005||||||
&|6|
D'avance merci,
je suis qu'un débutant , merci de m'aider a completer cette tache,
Cordialement.
A voir également:
- Extraire le contenu d'un fichier avec perl
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Extraire une video youtube - Guide
21 réponses
Bonjour, j'ai essayé d'adapter votre script au mien, mais sans succès ...
#!/usr/bin/perl
use strict;
use warnings;
mais dans résulat.txt il n'y as absolument rien, je comprend vraiment pas pourquoi le regex ne marche pas !
#!/usr/bin/perl
use strict;
use warnings;
open F_LIRE,"lire.txt" or die "E/S : $!\n"; open F_ECRIRE,">> resultat.txt" or die "E/S : $!\n"; while(<F_LIRE>){ print F_ECRIRE if /<url>(.*)<\/url><titre>(.*)<\/titre>/g; } close F_LIRE; close F_ECRIRE; __END__
mais dans résulat.txt il n'y as absolument rien, je comprend vraiment pas pourquoi le regex ne marche pas !