Se il file è nel formato standard mbox che presuppone che ogni messaggio email inizi con “From xxxxxxx@xxxx.xx” allora possiamo utilizzare il comando awk.

Tramite awk infatti, abbiamo la possibilità di dividere un grande file mbox in tanti piccoli file contenenti n messaggi.

Sotto shell laciamo:
awk 'BEGIN{chunk=0} /^From /{msgs++;if(msgs==[numero di messaggi per file]){msgs=0;chunk++}}{print > "file_" chunk ".mbox"}' [file mbox originale]

Questa funzione può essere molto utile quando bisogna importare dei messaggi nella propria casella di posta elettronica tramite webmail oppure, con le opportune modifiche, per estrapolare tutti i singoli messaggi.

Fonte: stackoverflow