Page 1 of 1
Datein verändern (mail subject)
Posted: 2006-11-29 12:42
by greenrover
Hallo, ich habe einen IMAP Server, wo ich neu einen HAM Ordner eingefügt habe, nun möchte ich, das per CRON ein script läuft, welches
erst den SPAM header entfernt, es dann anlehrnt und dann den header wieder umschreibt:
sed -e 's/Subject: ****SPAM****.*/Subject: $1/g' $i
sa-learn --ham $i
sed -e 's/Subject: .*/Subject: ***Als HAM Makiert*** $1/g' $i
$i ist gleich dem Dateinamen.
Aber wie mache ich das genau?
Das scheint mit sed so nicht zu funtionieren,
erstens, werden die Datein nicht gespeichert und 2tens $1 nicht gegen den Wert von .* ersetzt.
Kann da bitte einer helfen (bin/bash script)
Re: Datein verändern (mail subject)
Posted: 2006-11-29 13:02
by captaincrunch
Wenn du sed Strings in Variablen abspeichern lassen möchtest, solltest du ihm das (durch Klammern) auch mitteilen (und vor allem auf deine / achten). ;)
Re: Datein verändern (mail subject)
Posted: 2006-11-29 13:20
by greenrover
hmm geht auch nicht so recht. Dann ignoriert er die rules komplett.
Und wie bewege ich sed dazu wieder in die datei zu speichern?
Re: Datein verändern (mail subject)
Posted: 2006-11-29 13:28
by juergen
GreenRover wrote:hmm geht auch nicht so recht. Dann ignoriert er die rules komplett.
Und wie bewege ich sed dazu wieder in die datei zu speichern?
GNU sed kann files "in place" editieren: Option
-i
Re: Datein verändern (mail subject)
Posted: 2006-11-29 13:32
by juergen
GreenRover wrote:
...
sed -e 's/Subject: ****SPAM****.*/Subject: $1/g' $i
Ich denke du willst hier:
Code: Select all
sed -e 's/Subject: ****SPAM****/Subject: /g'
.* matched sonst den Rest deinen Subjects (den du ja wahrscheinlich nicht ersetzen willst).
Re: Datein verändern (mail subject)
Posted: 2006-11-29 16:02
by greenrover
ich habe noch eine doof frage:
$i ist wieder der Pfad zu der E-Mail datei:
nun soll er die mail aus dem ham ordner in den posteingang verschieben.
der sed syntax ist ok, jedoch speicher er das nicht als $o
o=echo $i | sed 's#.ham/##g';
mv $i $o
Re: Datein verändern (mail subject)
Posted: 2006-11-29 17:39
by juergen
GreenRover wrote:ich habe noch eine doof frage:
$i ist wieder der Pfad zu der E-Mail datei:
nun soll er die mail aus dem ham ordner in den posteingang verschieben.
der sed syntax ist ok, jedoch speicher er das nicht als $o
o=echo $i | sed 's#.ham/##g';
mv $i $o
Die Bash kann mittels Parameter-Expansion auch Suchen/Ersetzen, das ist einfacher:
Re: Datein verändern (mail subject)
Posted: 2006-11-29 17:56
by greenrover
THX @ all, das Script ist fertig und läuft 1A (-;