bah voila je cherche a lire le fichier mailBox, contenant plusieurs mails.
Je voudrais viré toutes les entetes, c'est a dire du premier "From" à apres "Date" pour ne garder que les corps de messages...
Alors deux problemes:
1. Comment voir qu'on passe d'un mail a un autre... (je suis parti sur l'hypothese que le mail suivant repondait a la contrainte "ligne vide suivit d'un From" )
2. comment ne garder que les entetes ?
Je suis parti avec sed et ca donne ...
pour baliser un mail
marquerMail.sed
Code :
- #insertion avant le mail d'un '#-NewMSG-#'
- /From /i #NewMSG#
- #insertion apres le mail d'un '#-NewMSG-#'
- $ a #NewMSG#
|
pour garder le corps
garderCorpsMail.sed
Code :
- /From toto@;*/
- {
- #traitement des entetes
- :entete
- N
- #si pas longeur vide goto "entete"
- /\n$/!b entete
-
- #supression de l'entete
- s:.*::
- #traitement du message en lui meme
- :corpsMsg
- N
- s:\n#-NewMSG-#::;t nextMsg
- b corpsMsg
-
- #traitement message suivant
- :nextMsg
- p
- }
|
le tout s'enchainant par
Code :
- $> sed -f marquerMail.sed mbox | sed -f garderCorpsMail.sed | sed -e '/^$/d' > corpsMails
|
Mais ca ne marche pas terrible, vous auriez pas des idées ?
Merci