Re: commando-syntax für batch (bogofilter)

Startseite
Anhänge:
Nachricht
+ (text/plain)
Nachricht löschen
Nachricht beantworten
Autor: Sven Velt
Datum:  
To: list
Betreff: Re: commando-syntax für batch (bogofilter)
Hio Norman!

Am 2006-03-14, tippselte Norman Zimmer:

> 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
>
> [...]
> Versuch 1:
> me@kiste:~/Maildir/.spam.new/cur$ bogofilter -s *
> Extra arguments given, first:
> 1142284370.M127305P9601V0000000000006220I0008C062_2.normanzi,S=4647:2,S.
> Aborting.


Es steht da oben ja auch nicht, dass Du ihm die Datei(en) als
Kommandozeilenargumente übergeben darfst.

> Versuch 2:
> me@kiste:~/Maildir/.spam.new/cur$ bogofilter -s < *
> bash: *: ambiguous redirect


Tja, der Redirect von stdin klappt halt nun mal nur mit einer Datei und
nicht mit mehreren.

> 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.


Fehler Nummer 1 mit Unkenntnis von "find" kombiniert. ;-)

Wie wäre es z.B. mit:

for M in *
do
echo $M
bogofilter -s <"${M}"
done

Dann siehst Du auch aufgrund des echos noch, welche Mail er grade
abarbeitet. Für den cron bietet es sich natürlich an, den echo
wegzulassen und sogar noch ein "2>/dev/null" anzuhängen, damit Du nicht
mit den Fehlern belästigt wirst.

> Und dann wäre halt noch schicken einen rm für die (2) gleich mit
> dranzuhängen.


Vor dem "done" einfach noch eine Zeile mit 'rm "${M}"' rein und gut ist.

> Hat jemand eine Idee wie ich das Problem lösen kann?


Das war *eine*.

#> find -type f -exec cat {} \| bogofilter -s \;
sollte auch tun (ungetestet).

bye

Sven

-- 
Du erhältst diese eMail, weil Du auf der Mailingliste der Linux-User
Schwabach eingetragen bist. Falls Du keine weiteren Mails der Liste mehr
erhalten willst, so sende eine leer eMail an list-unsubscribe@??? und
folge den Anweisungen.