• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

formail - Headerzeile entfernen

Hi,

ich will aus einem mbox-File mit dem formail-Befehl diejenige Zeile aus dem Header löschen, die mit "From " (ohne Doppelpunkt dahinter) beginnt.
Das mbox-File liegt in /testordner. Ich hab jetzt schon etliche syntaktische Sachen mit formail versucht (laut manpage), aber immer kommt irgend ne andere Fehlermeldung! Ich werd noch verrückt.
Kann mir bitte jemand helfen und nen Tip geben, wie ich diese Zeile aus dem File mittels formail gelöscht bekomme?!?!
Entsteht hinterher eigentlich ein neues, verändertes mbox-File, oder wird einfach das Originalfile modifiziert und gespeichert?

Vielen Dank.
 
OP
M

magic_halli

Hacker
Ich habe jetzt folgendes probiert:
Code:
# cat /root/testordner/testmail | formail -f -I "From " > testausgabe
'testmail' ist hierbei eine mbox-Datei und ich will eigentlich als Ausgabe auch wieder eine mbox-Datei! Meine Datei 'testausgabe' ist zwar korrekt beschnitten, aber liegt nicht mehr im mbox-Format vor, sondern ist jetzt vom Typ E-Mail!!!

Wie kann ich es erreichen, dass ich wieder eine mbox-Datei erhalte??? Das wäre dann nämlich genau mein Vorhaben.
 

abgdf

Guru
Hi,

ich würd's von Hand machen:
Code:
#!/usr/bin/env python
# -*- coding: latin2 -*-

ORDNER = "/root/testordner"
DATEI = "testmail"

fh = file(ORDNER + "/" + DATEI, "r")
a = fh.readlines()
fh.close()

b = []

for i in a:
    if i.startswith("From") and not i.startswith("From:"):
        i = "\n" 
    b.append(i)

fh = file(ORDNER + "/" + "out", "w")
fh.writelines(b)
fh.close()
Obwohl's für komplexere Sachen auch ein Email-Modul für Python gibt:

http://www.angelfire.com/linux/tux25/python.html#19

Gruß
 
Oben