Extraire les entêtes d’une liste de mail en bash

Voici ma problématique : dans un dossier extrait de mon maildir, je veux avoir les entêtes de mes mails en bash.
« sed » est l’outil idéal pour manipuler du texte en bash, il permet d’agir directement sur le contenu des fichiers, de les modifier…

Avec la ligne de commande suivante, je détecte la première ligne vide, et je supprime la suite :

sed '/^$/q' file.txt

Explications : la ligne vide est identifiée grâce à « ^$ » : « ^ » pour début de ligne, et « $ » pour fin de ligne et le « q » permet de quitter sed dés que le pattern a été trouvé.

Enfin, pour traiter l’ensemble de mes fichiers, je dois boucler sur chacun d’entre eux, avec un « for » par exemple et rediriger la sortie sur mon fichier avec la ligne de commande suivante :

for f in * ; do sed '/^$/q' $f ; done > /tmp/allHeaders.txt

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *