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

Wie kann ich das Postfach in eine einzelne Datei pro Nachricht aufteilen?

Verwenden Sie einfach formail . formail ist ein Programm, das Mailboxen verarbeiten, einige Aktionen für jede Nachricht in der Mailbox ausführen, Nachrichten trennen kann und so weiter.

Weitere Informationen:http://www.manpagez.com/man/1/formail/

Wenn Sie nur ein Postfach in separate Dateien aufteilen möchten, würde ich eine solche Lösung vorschlagen:

$ cat $MAIL | formail -ds sh -c 'cat > msg.$FILENO'

Von Mann:

   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.

Git (git mailsplit ) kann dies ebenfalls tun. Zum Beispiel

wget ftp://lists.gnu.org/bug-tar/2014-09
git mailsplit -o. 2014-09

Wenn Sie kein Formail haben, können Sie auch diesen Perl-Einzeiler verwenden (von hier kopiert und gerade auf einem Thunderbird-Posteingang getestet, den ich aufteilen musste)

perl -pe 'open STDOUT, ">out".++$n if /^From /' < $IN > before_first

oder um mit 0 aufgefüllte Zahlen zu haben:

perl -pe 'open STDOUT, sprintf(">m%05d.mbx", ++$n) if /^From /' < $IN > before-first

Linux
  1. So teilen Sie ISO oder Datei mit dem Befehl „Split“ in Linux

  2. Wie kann ich eine einzelne Datei RSYNC?

  3. Wie teilt man eine Textdatei in mehrere *.txt-Dateien auf?

  4. Wie lese ich eine einzelne Datei in einem Maildir?

  5. So konvertieren Sie eine TAR-Datei in eine ISO-Datei

So teilen Sie eine große Archivdatei mit dem Split-Befehl in Linux in mehrere kleine Dateien auf

So teilen Sie eine große Archivdatei mit dem Split-Befehl in Linux in mehrere kleine Dateien auf

So teilen Sie eine große Datei in Teile bei bestimmten Zeilennummern auf

Wie teilt man eine MP3-Datei?

Wie Echo in Datei

Wie teile ich ein einzelnes cPanel-Konto in mehrere auf?