Datein verändern (mail subject)
-
greenrover
- Posts: 203
- Joined: 2004-12-17 19:34
- Contact:
Datein verändern (mail subject)
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)
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)
-
captaincrunch
- Userprojekt

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: Datein verändern (mail subject)
Wenn du sed Strings in Variablen abspeichern lassen möchtest, solltest du ihm das (durch Klammern) auch mitteilen (und vor allem auf deine / achten). ;)
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
-
greenrover
- Posts: 203
- Joined: 2004-12-17 19:34
- Contact:
Re: Datein verändern (mail subject)
hmm geht auch nicht so recht. Dann ignoriert er die rules komplett.
Und wie bewege ich sed dazu wieder in die datei zu speichern?
Und wie bewege ich sed dazu wieder in die datei zu speichern?
Re: Datein verändern (mail subject)
GNU sed kann files "in place" editieren: Option -iGreenRover 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?
Re: Datein verändern (mail subject)
Ich denke du willst hier:GreenRover wrote: ...
sed -e 's/Subject: ****SPAM****.*/Subject: $1/g' $i
Code: Select all
sed -e 's/Subject: ****SPAM****/Subject: /g'-
greenrover
- Posts: 203
- Joined: 2004-12-17 19:34
- Contact:
Re: Datein verändern (mail subject)
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
$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)
Die Bash kann mittels Parameter-Expansion auch Suchen/Ersetzen, das ist einfacher: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
Code: Select all
mv $i ${i/.ham/}-
greenrover
- Posts: 203
- Joined: 2004-12-17 19:34
- Contact:
Re: Datein verändern (mail subject)
THX @ all, das Script ist fertig und läuft 1A (-;