GNU/Linux >> Tutoriels Linux >  >> Linux

Comment lire un message à la fois depuis /var/mail ?

Disons que j'ai 5 messages dans /var/mail/ et que je veux lire un message à la fois, puis faire une recherche de chaîne dans ce courrier avant de passer au message suivant. Existe-t-il une commande que je peux utiliser pour analyser un message à la fois ?

Je cherche à écrire un script bash qui lira tous les messages dans un fichier mbox, puis les lira un par un afin que je puisse ensuite extraire l'objet, le destinataire, l'expéditeur et l'état du message (code de rebond). Mon plan était d'utiliser grepmail pour obtenir le nombre d'e-mails dans le fichier, puis d'utiliser ce nombre dans une boucle for pour obtenir un e-mail à la fois et effectuer une opération sur le texte. Quelque chose comme :

$count = grepmail -r . /var/mail/user | awk '{print $2}'
for($i=1;$i<=$count;$i++) {
    $content = *GetMessage* -number $i /var/mail/user
    ...
    Do string operation on this message & save to $DelimitedData
    ...
}
$Delimiteddata

Je n'arrive pas à comprendre comment récupérer un seul message à la fois pour effectuer une opération de chaîne sur eux. Quelqu'un peut-il m'indiquer quelle commande/programme peut m'aider à le faire de manière non interactive.

Réponse acceptée :

Le formail L'outil de procmail (disponible dans n'importe quelle distribution, c'est un classique) est conçu précisément à cet effet.

Utilisation de base :

formail -s myprogram --option

exécute myprogram --option sur chaque courrier à tour de rôle. Le programme reçoit chaque mail sur son entrée standard.


Linux
  1. Linux – Comment lire depuis /proc/$pid/mem sous Linux ?

  2. Quelle est la portabilité de /dev/stdin, /dev/stdout et /dev/stderr ?

  3. Ssh ne fonctionne pas à partir d'un ordinateur spécifique ?

  4. Différence entre /var/log/messages, /var/log/syslog et /var/log/kern.log ?

  5. CentOS / RHEL :Comment faire pivoter les fichiers /var/log/wtmp et /var/log/btmp à l'aide de logrotate

Linux - Comment tester si un périphérique bloc est en lecture seule depuis /sys ou /proc ?

Comment déplacer /usr et /var vers une autre partition ou un autre disque

Comment savoir à partir de quel dossier un processus est en cours d'exécution ?

Comment désactiver Gnome pour créer des documents/vidéo/dans HOME ?

unix:///var/run/supervisor.sock aucun fichier de ce type

Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?