GNU/Linux >> Linux Esercitazione >  >> Linux

Come leggere un messaggio alla volta da /var/mail?

Diciamo che ho 5 messaggi in /var/mail/ e voglio leggere un messaggio alla volta e quindi eseguire una ricerca di stringhe in quella posta prima di passare al messaggio successivo. C'è un comando che posso usare per analizzare un messaggio alla volta?

Sto cercando di scrivere uno script bash che leggerà tutti i messaggi in un file mbox e quindi li leggerà uno alla volta in modo da poter estrarre Oggetto, A, Da e Stato del messaggio (codice di rimbalzo). Il mio piano era di utilizzare grepmail per ottenere il conteggio delle e-mail nel file e quindi utilizzare questo conteggio in un ciclo for per ottenere una posta alla volta ed eseguire operazioni sul testo. Qualcosa come:

$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

Non riesco a capire come raccogliere un singolo messaggio alla volta per eseguire operazioni di stringa su di essi. Qualcuno può per favore guidarmi quale comando/programma può aiutarmi a farlo in modo non interattivo.

Risposta accettata:

Il formail strumento di procmail (disponibile in qualsiasi distribuzione, è un classico) è progettato proprio per questo scopo.

Utilizzo di base:

formail -s myprogram --option

esegue myprogram --option su ogni mail a turno. Il programma riceve ogni e-mail sul suo input standard.


Linux
  1. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  2. Come spostare /usr e /var su un'altra partizione o disco

  3. Django static_root in /var/www/... - nessuna autorizzazione a collectstatic

  4. Quando dovrei usare /dev/shm/ e quando dovrei usare /tmp/?

  5. Come posso amministrare /var/www?

Come disabilitare Gnome dalla creazione di documenti/video/in HOME?

DD da /dev/zero a /dev/null... cosa succede realmente

unix:///var/run/supervisor.sock nessun file di questo tipo

Come posso leggere da /proc/$pid/mem sotto Linux?

I siti web dovrebbero vivere in /var/ o /usr/ in base all'utilizzo consigliato?

Leggere la posta da /var/spool/mail/root