GNU/Linux >> Linux の 問題 >  >> Linux

/ var / mailから一度に1つのメッセージを読む方法は?

/ var / mail /に5つのメッセージがあり、一度に1つのメッセージを読み、次のメッセージに進む前にそのメールで文字列検索を実行したいとします。一度に1つのメッセージを解析するために使用できるコマンドはありますか?

mboxファイル内のすべてのメッセージを読み取り、一度に1つずつ読み取り、メッセージの件名、宛先、送信元、ステータス(バウンスバックコード)を抽出できるbashスクリプトを作成しようとしています。私の計画では、grepmailを使用してファイル内の電子メールの数を取得し、この数をforループで使用して、一度に1つのメールを取得し、テキストに対して操作を実行します。次のようなもの:

$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

一度に1つのメッセージを取得して、それらに対して文字列操作を実行する方法がわかりません。誰かが私にこれを非対話的に行うのに役立つコマンド/プログラムを教えてもらえますか?

承認された回答:

formail procmailのツール(どのディストリビューションでも利用可能で、クラシックです)は、この目的のために正確に設計されています。

基本的な使用法:

formail -s myprogram --option

myprogram --optionを実行します 順番に各メールに。プログラムは、標準の入力で各メールを受信します。


Linux
  1. Linux –Linuxで/proc / $ pid / memから読み取る方法は?

  2. / dev / stdin、/ dev / stdout、および/ dev / stderrはどの程度移植可能ですか?

  3. Linux –ブロックデバイスが/sysまたは/procから読み取り専用かどうかをテストする方法は?

  1. すべてのファイルをあるディレクトリから別のディレクトリに移動 (および上書き) する方法は?

  2. プロセスが実行されているフォルダーを見つける方法は?

  3. ホームでGnomeがドキュメント/ビデオ/を作成できないようにする方法は?

  1. /dev/zero から /dev/null への DD ...実際に何が起こるか

  2. 推奨される使用方法に従って、Web サイトは /var/ または /usr/ に配置する必要がありますか?

  3. /var/spool/mail/root からのメールの読み取り