GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie liest man jeweils eine Nachricht aus /var/mail?

Nehmen wir an, ich habe 5 Nachrichten in /var/mail/ und ich möchte eine Nachricht nach der anderen lesen und dann eine Zeichenfolgensuche in dieser Mail durchführen, bevor ich mit der nächsten Nachricht fortfahre. Gibt es einen Befehl, mit dem ich jeweils eine Nachricht parsen kann?

Ich möchte ein Bash-Skript schreiben, das alle Nachrichten in einer mbox-Datei liest und sie dann einzeln liest, damit ich dann Betreff, An, Von und Status der Nachricht extrahieren kann (Bounceback-Code). Mein Plan war, grepmail zu verwenden, um die Anzahl der E-Mails in der Datei zu erhalten, und diese Anzahl dann in einer for-Schleife zu verwenden, um jeweils eine E-Mail abzurufen und sie den Text zu bearbeiten. Etwas wie:

$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

Ich kann nicht herausfinden, wie ich einzelne Nachrichten gleichzeitig abholen kann, um String-Operationen für sie auszuführen. Kann mir bitte jemand sagen, welcher Befehl/welches Programm mir dabei helfen kann, dies nicht interaktiv zu tun.

Akzeptierte Antwort:

Die formail Tool von procmail (verfügbar in jeder Distribution, es ist ein Klassiker) ist genau für diesen Zweck konzipiert.

Grundlegende Verwendung:

formail -s myprogram --option

führt myprogram --option aus auf jeder Mail der Reihe nach. Das Programm empfängt jede Mail auf seiner Standardeingabe.


Linux
  1. Linux – Wie liest man unter Linux aus /proc/$pid/mem?

  2. Ssh funktioniert nicht von einem bestimmten Computer aus?

  3. Linux – Wie testet man, ob ein Blockgerät von /sys oder /proc aus schreibgeschützt ist?

  4. Unterschied zwischen /var/log/messages, /var/log/syslog und /var/log/kern.log?

  5. CentOS / RHEL :So rotieren Sie /var/log/wtmp- und /var/log/btmp-Dateien mit logrotate

Django static_root in /var/www/... - keine Berechtigungen für collectstatic

Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

Wie verwalte ich /var/www?

unix:///var/run/supervisor.sock keine solche Datei

Sollten Websites gemäß der empfohlenen Verwendung in /var/ oder /usr/ leben?

Mail von /var/spool/mail/root lesen