Nagy mbox fájl darabolása

Van 2db mbox fájlom, egyenként 9-10GB körüliek. Ezt szeretném ugy szétszedni, hogy pl. az Evolution meg tudja majd enni.
Akár darabszámos darabolás is érdekelne, de jobb lenne ha havonta vagy legalább évente tudna bontani.

Ami scripteket és parancsokat találtam, azok nem működtek.
Annyit már sikerült elérnem hogy egyenkét 1-1 fájlba kerültek az emailek.
Így viszont egy örökkévalóság lenne az egyenként importálás.

Hozzászólások

Nem mailserver-ről van szó, hanem csak egy win2linux migráció. Lett 2db nagy mbox fájl amit a thunderbird csinált outlook-ból. Érdekes hogy a thunderbird sem birja kezelni.

Azt már elértem, hogy egyenként legyenek a levelek fájlokban. Most jó lenne szétválogatni dátum szerint. Majd pedig ezt egyesíteni egy-egy fájlba. Pl. évenként.

mb2md ismerős (talán ez sem ment), de egy megfeleőlen szerkesztett csplit paranccsal sikerült szétkapnom levelenként.

Amit most keresnék az legfőképp az alábbi két dolog:
- Fájlok válogatása benne lévő adat szerint (első sorban ott a dátum "From - Mon, 3 Oct 2011 06:15:39" fomátumban)
- Válogatott fájlok egyesítése

Megvan még az outlook(pst?) szedd szét azzal ahol még működött.

Sikerült megoldani.
Lehet nem a legszebben. A végeredmény viszont működik.

Ha esetleg később is lenne valakinek ilyen problémája azért leírom mi volt a megoldás.

Az hogy hány levél van 1-1 fájban az alábbi paranccsal kideríthető:

grep -c "^From " filename

Nagy mbox szétszedése 1-1 fájra:


csplit -n 5 -k mboxfile '/^From /' '{*}'

Fájlok válogatása évek (2012) szerint, átmásolja egy másik könyvtárba:

grep -H 'From - ' * | grep ' 2012 ' | cut -d: -f1 | xargs cp -t ./2012/ 

A fájlok összefűzése maximum 1GB körüli fájlokká:


#!/bin/sh
dfilecount=1;
for sfilename in xx*
do
    dfilename="out.$dfilecount";
    cat $sfilename >> $dfilename
    filesize=$(stat -c '%s' $dfilename)
    if [ $filesize -gt 1000000000 ]; then
	dfilecount=$((dfilecount+1))
    fi
done

Szep. Bar szerintem elobb kene meretet ellenorizni (nem lepnem-e tul) es csak utana hozzacsapni. Ugyanis - szigoruan elvi szinten - a jelenlegi felallasban eloallhat az, hogy 1GB -1 byte-nal jarsz mig a kovetkezo majdnem ugyanannyi (tudom, csekely eselye van az 1GB-os - egyetlen e-mailnek), de azt meg hozzaragasztod az elozoek vegehez.