GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo dividir el buzón en un solo archivo por mensaje?

Solo usa formail . formail es un programa que puede procesar el buzón, ejecutar algunas acciones para cada mensaje en el buzón, separar mensajes, etc.

Más información:http://www.manpagez.com/man/1/formail/

Si solo desea dividir un buzón para separar archivos, sugeriría esta solución:

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

Del hombre:

   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 ) también puede hacer esto. Por ejemplo,

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

Si no tiene formail, también puede usar este oneliner de Perl (copiado de aquí y probado en una bandeja de entrada de Thunderbird que necesitaba dividir)

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

o, para tener números con 0:

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

Linux
  1. Cómo eliminar el archivo de correo raíz (buzón) en Linux

  2. ¿Herramienta para dividir un libro guardado como un solo PDF en un PDF por capítulo?

  3. ¿Cómo RSYNC un solo archivo?

  4. ¿Cómo dividir archivos CSV según el número de filas especificado?

  5. ¿Cómo leo un solo archivo en un maildir?

Cómo dividir un archivo grande en varios archivos pequeños usando el comando Dividir en Linux

Cómo dividir un archivo grande en varios archivos pequeños usando el comando Dividir en Linux

Cómo dividir un archivo grande en partes en números de línea dados

¿Cómo dividir un archivo Mp3?

Cómo hacer eco en un archivo

¿Cómo divido una sola cuenta de cPanel en varias?