Autor: user1 Datum: To: list Betreff: Re: commando-syntax für batch (bogofilter)
Hi auch,
On Tue, Mar 14, 2006 at 12:49:01PM +0100, Norman Zimmer wrote: > ich wollte gerne (1) dem bogofilter die manuell aussortierten Spams per
> cron-job einfüttern und dann (2) die Mail löschen.
>
> Die Hilfe zeigt folgende Syntax.
> bogofilter [options] < message
>
> Einzelne Mails reinschieben geht klar, ist aber nur zum testen gut da zu
> aufwändig.
> Das mein Problem irgendie an dem "<" liegt weiß ich schon, aber ich weiß
> grad net wie ich drum rum komm...
>
> Folgendes hab ich schon versucht um (1) zu lösen, tut aber net:
>
> Versuch 1:
> me@kiste:~/Maildir/.spam.new/cur$ bogofilter -s *
> Extra arguments given, first:
> 1142284370.M127305P9601V0000000000006220I0008C062_2.normanzi,S=4647:2,S.
> Aborting.
>
> Versuch 2:
> me@kiste:~/Maildir/.spam.new/cur$ bogofilter -s < *
> bash: *: ambiguous redirect
>
> Versuch 3:
> me@kiste@:/Maildir/.spam.new/cur$ find * -exec bogofilter -s {} \;
> Extra arguments given, first:
> 1142333881.M819167P10360V0000000000006220I0008C062_7.normanzi,S=5434:2,S.
> Aborting.
> Extra arguments given, first:
> 1142333882.M819167P10360V0000000000006220I0008C062_7.normanzi,S=5434:2,S.
> Aborting.
>
> Und dann wäre halt noch schicken einen rm für die (2) gleich mit
> dranzuhängen.
Also bogofilter will offensichtlich den Text über stdin haben. Dann nimm
doch die Pipe statt der Umleitung von Stdin auf eine Eingabedatei:
cat * | bogofilter [options]
ich kenne bogofilter nicht näher und weiß nicht, ob er mehrere Dateien
in einem Zug verarbeiten kann. Wenn rm nur bei zufriedenstellendem
Ergebnis von bogofilter pro einzelner Datei löschen soll, brauchst du
evtl.:
for i in * ; do bogofilter [options] < $i && rm $i ; done
bzw.
for i in * ; do cat $i | bogofilter [options] && rm $i ; done