受信トレイを bash コマンドで個別のファイル (メッセージごとに 1 ファイル) に分割したい、または Java の単純なプログラムである可能性があります。どうすればいいですか?
WBRさん、ありがとう。
を使用するだけformail
です。formail
メールボックスを処理したり、メールボックス内のメッセージごとにいくつかのアクションを実行したり、メッセージを分離したりできるプログラムです。
詳細: http: //www.manpagez.com/man/1/formail/
メールボックスを分割してファイルを分割したい場合は、次のような解決策をお勧めします。
$ cat $MAIL | formail -ds sh -c 'cat > msg.$FILENO'
男から:
FILENO
While splitting, formail assigns the message number currently
being output to this variable. By presetting FILENO, you can
change the initial message number being used and the width of the
zero-padded output. If FILENO is unset it will default to 000.
If FILENO is non-empty and does not contain a number, FILENO gen-
eration is disabled.
formail がない場合は、この Perl oneliner を使用することもできます (ここからコピーし、分割する必要のある Thunderbird Inbox でテストしただけです)。
perl -pe 'open STDOUT, ">out".++$n if /^From /' < $IN > before_first
または、数字を 0 で埋めるには:
perl -pe 'open STDOUT, sprintf(">m%05d.mbx", ++$n) if /^From /' < $IN > before-first