HS: Question bash/dash

1 réponse
Avatar
daniel huhardeaux
Bonjour,

j'ai un fichier qui contient des caractères 0A (saut de ligne). À un
certain moment de mon traitement j'aimerai remplacer toutes les
occurrences de ce caractère qui se suivent par une unique (la suite 0A
.. 0A devient 0A).

Il s'agit d'un script de traitement de messages courriel pour lequel
j'aimerai extraire le corps du message dans un fichier texte. Exemple,
les lignes vides correspondent à la réalité et sont des 0A sauf la
dernière avant le second NextPart qui est un espace suivi de 0A:

[Début de l'entête du message]
------=_NextPart_000_0001_01CCDC33.85CFE960
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit

SMS essai

Je serai au RDV a 20h30

CH HT 01 02 4H

AG 03 3H 200C




------=_NextPart_000_0001_01CCDC33.85CFE960
[Suite entête du message]

Ce que je voudrai obtenir:

SMS essai
Je serai au RDV a 20h30
CH HT 01 02 4H
AG 03 3H 200C

Jusqu'à présent un simple

grep -m 1 -A 30 "^Content-Transfer-Encoding" "$ficmsg" | grep -m 2 -A 20
"^$" > "$ficmsgbody"

remplissait la fonction ($ficmsg contient l'ensemble du courriel),
malheureusement certains lecteurs courriel (Outlook en html ou les
webmails) rajoutent d'office un 0A et ma méthode ci dessus ne me donne
alors que la premiere ligne non vide.

Merci pour toute idée.

--
Daniel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/4F217EB6.9010304@tootai.net

1 réponse

Avatar
Bernard Schoenacker
Le Thu, 26 Jan 2012 17:26:30 +0100,
daniel huhardeaux a écrit :

Bonjour,

j'ai un fichier qui contient des caractères 0A (saut de ligne). À un
certain moment de mon traitement j'aimerai remplacer toutes les
occurrences de ce caractère qui se suivent par une unique (la suite
0A .. 0A devient 0A).

Il s'agit d'un script de traitement de messages courriel pour lequel
j'aimerai extraire le corps du message dans un fichier texte.
Exemple, les lignes vides correspondent à la réalité et sont des 0A
sauf la dernière avant le second NextPart qui est un espace suivi de
0A:

[Début de l'entête du message]
------=_NextPart_000_0001_01CCDC33.85CFE960
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit

SMS essai

Je serai au RDV a 20h30

CH HT 01 02 4H

AG 03 3H 200C




------=_NextPart_000_0001_01CCDC33.85CFE960
[Suite entête du message]

Ce que je voudrai obtenir:

SMS essai
Je serai au RDV a 20h30
CH HT 01 02 4H
AG 03 3H 200C

Jusqu'à présent un simple

grep -m 1 -A 30 "^Content-Transfer-Encoding" "$ficmsg" | grep -m 2 -A
20 "^$" > "$ficmsgbody"

remplissait la fonction ($ficmsg contient l'ensemble du courriel),
malheureusement certains lecteurs courriel (Outlook en html ou les
webmails) rajoutent d'office un 0A et ma méthode ci dessus ne me
donne alors que la premiere ligne non vide.

Merci pour toute idée.




bonjour,


je ne connais que 3 paquets qui serait possible d'employer :

libemail-simple-perl
libemail-received-perl
mboxgrep

reste à trouver la suite


slt
bernard

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/