[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

HS: Question bash/dash



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


Reply to: