GNU/Linux >> Znalost Linux >  >> Linux

Jak rozdělit poštovní schránku na jeden soubor na zprávu?

Stačí použít formail . formail je program, který dokáže zpracovat poštovní schránku, spustit některé akce pro každou zprávu ve schránce, oddělit zprávy a tak dále.

Více informací:http://www.manpagez.com/man/1/formail/

Pokud chcete pouze rozdělit poštovní schránku na samostatné soubory, navrhoval bych takové řešení:

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

Od muže:

   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 ) to dokáže také. Například

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

Pokud nemáte formail, můžete také použít tento Perl Oneliner (zkopírovaný odtud a právě testovaný na Thunderbird Inbox, který jsem potřeboval rozdělit)

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

nebo, chcete-li mít čísla doplněná 0:

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

Linux
  1. Nástroj pro rozdělení knihy uložené jako jeden soubor PDF na jeden soubor PDF na kapitolu?

  2. Jak rozdělit iso nebo soubor pomocí příkazu „split“ v Linuxu

  3. Jak RSYNC jeden soubor?

  1. Jak odstranit soubor root Mails (Mailbox) v Linuxu

  2. Jak přečtu jeden soubor v maildir?

  3. Jak převést soubor TAR na soubor ISO

  1. Jak rozdělit jeden soubor do více souborů na základě řádků

  2. Zřetězit konkrétní soubory do jednoho jediného souboru?

  3. Jak zapsat soubor do jiného?