Sziasztok,
Kerestem neten és manualban olyan egyszerű parancsot, amelly le tudnék indexeltetni egy nagy szöveges fájlt (mail box fájl) majd gyorsan tudnék kerestetni szavakat benne.
Egy nagy mail fájlt kellene szűrnöm visszatérően sokszor. Ez grep-pel ugye nagyon lassú (kb. 10 perc egy grep eredménye :)
Itt találtam egy leírást egy megoldásról, csak ezt az lsearch parancsot nem találom sem neten, sem a Debian-os csomagok között.
Létezik vajon ilyen megoldás a Debian-os csomag között?
Köszi.
- 1213 megtekintés
Hozzászólások
> csak ezt az lsearch parancsot nem találom
- A hozzászóláshoz be kell jelentkezni
köszi.
Egyenlőre még nem fordul le mert hibákat dob, de dolgozok rajta. :)
- A hozzászóláshoz be kell jelentkezni
Közben találtam egy nagyon egyszerű és gyors megoldást arra, hogy szűrjek egy nagy méretű mbox fájlt.
Átkonvertálom az mbox-ot MailDir formátumúra, ahol minden mailt külön fájlba rak, és azokban keresek grep-pel, így már a sok Giga helyett pár Kb-os fájlokat kell átnéznem.
mb2md -s forrás_mbox_file -d maildir_uj_mappa
Ettől függetlenűl szívesen veszek továbbra is ötleteket parancsokra text fájl indexeléséhez és abban kereséshez.
Köszi.
- A hozzászóláshoz be kell jelentkezni
http://www.rpcurnow.force9.co.uk/mairix/
"mairix is a program for indexing and searching email messages stored in Maildir [...], MH or mbox folders."
- A hozzászóláshoz be kell jelentkezni
nagyon köszi, pont ezt kerestem :)
Igazából fél órát töltöttem az "apt-cache search" kulcsszavakkal (pl. index search text) mert először mindig a csomagok közt keresek, de úgy látszik rosszul :) az "index mail" kulcsszavak kellettek volna, erre dobja is a mairix-et.
mit mondjak, pár másodperc alatt leindexelte a 6 GB-os mbox fájlomat és 1.8 MB lett csak az index.. :)
a keresés meg persze baromi gyors.
- A hozzászóláshoz be kell jelentkezni
Így csinálnám:
0. feljegyezni az aktuális fájlmutató-pozíciót
1. szavakra tördelni a sort szóközök+írásjelek mentén
2. az esetleges szemetet kiszűrni (dátumok, számok, ???)
3. hashben rögzíteni az n-edik szóhoz mint kulcshoz a beolvasott sor pozícióját, minden előfordulásnál appendelve a korábbi találatok indexeihez (de egy sorhoz csak egyet)
A fájl feldolgozása után van kézben egy hash, az összes szóval és az azokhoz tartozó indexekkel, ami akár fájlba is kiírható, és visszaolvasható később.
A szavakhoz tartozó sorok keresése seekkel meg is van.
Max. 30 soros perl kódnak tippelem.
Különben ha lusta volnék kódolni/próbálkozni, ráküldenék egy htdiget.
- A hozzászóláshoz be kell jelentkezni