linux-l: Mailbox splitten?

Jens Dreger jens.dreger at physik.fu-berlin.de
Fr Jun 1 02:33:32 CEST 2001


On Fri, Jun 01, 2001 at 01:59:33AM +0200, Sven Guckes wrote:
> * Florian Cramer <paragram at gmx.net> [010531 15:48]:
> > Gibt es ein einfaches Tool, um alle Nachrichten in einer
> > Mailbox in separate Dateien zu extrahieren? Ich dachte an
> > formail, komme aber mit "formail -ds" nicht zum Ziel.
> 
> Du willst von mbox auf maildir wechseln?
> Ich glaube DJB hatte da ein toolchen..

Stimmt. Da wuselt so ein Perl-Script rum. Allerdings konvertiert das
gleich mal alle mailboxen aller user aus der passwd. Ich habe mal eine
abgespeckte Version erstellt:

-----------8<-------------------------------
#!/usr/bin/perl -w
# usage: splitmail <mboxfolder>

my $i=0;
while(<>) {
  if (/^From /) {
    open(OUT, ">".sprintf("%04d.mail", $i++)) or
      die("fatal: unable to create new message");;
#    next;            # uncomment this if you want the From lines removed
  }
#  s/^>From /From /;  # uncomment this if you want ">From" replaced by "From"
  print OUT $_ or 
    die("fatal: unable to write to new message");
}
close(OUT);
------------8<-------------------------------

Danach hat man haufenweise XXXX.mail Dateien mit jeweils einer mail
drin.

Gruss,

Jens.



Mehr Informationen über die Mailingliste linux-l