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.