Batch skript Datei filtern

AMD_Rulez

Lieutenant
Registriert
Feb. 2010
Beiträge
582
Hallo,

ich verzweifele gerade an der einfachen aufgabe den inhalt einer datei zu filtern und in eine variable zu packen.
es geht darum aus dieser mail datei nur das subject und den eigentlichen inhalt zu behalten:
Code:
Content-Description: Undelivered Message
Content-Type: message/rfc822

Return-Path: <??????>
Received: by ?????? (Postfix, from userid 0)
        id D95F3A58083; Wed,  8 Aug 2012 08:35:11 +0200 (CEST)
To: ???????
Subject: testmailsubject
Message-Id: <??????>
Date: Wed,  8 Aug 2012 08:35:11 +0200 (CEST)
From: ??????

testmail

--????--

also es soll die zeile mit dem "Subject:" in einer variablen gespeichert werden und die Zeilen mit dem Inhalt(in diesem Fall "testmail")

mein code sieht so aus ist aber gänzlich falsch:
Code:
for zeile in `cat /home/maildatei`
do
        subject=`grep "Subject:" $zeile`
        echo $subject > /home/xxx
        inhalt=`grep "From:" $zeile`
        echo $inhalt > /home/yyy



done
 
Code:
subject=`grep 'Subject:' /home/maildatei`

inhalt=`grep -A 999 'From:' /home/maildatei | tail -n +2`


HTH

BigNum
 
danke hat bestens funktioniert. wobei ich die funktion grep -A 999 nicht verstehe. sobald ich anstatt 999 eine andere Zahl eintrage wird nur eine leere Zeile ausgegeben.
 
AMD_Rulez schrieb:
danke hat bestens funktioniert. wobei ich die funktion grep -A 999 nicht verstehe. sobald ich anstatt 999 eine andere Zahl eintrage wird nur eine leere Zeile ausgegeben.
Ausschnitt aus "man grep":
-A NUM, --after-context=NUM
Zeige NUM Zeilen Kontext im Anschluss an eine auf das Muster passende Zeile an.
Sollte also mit jeder anderen (genügend großen) Zahl ebenso funktionieren ;)


Sonnige Grüße

BigNum
 

Ähnliche Themen

Antworten
18
Aufrufe
3.246
s1ave77
S
Zurück
Oben