[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bash Frage



Am Sonntag, 26. August 2007 19:13 schrieb Christian Kuka:
> Moin Ulrich
>
> versuchs mal mit wc:

Oder "test"

Gruß
Armin

> if [ $(ls $MAILDIR/cur/ | wc -l) -gt 0 ]; then
> 	sa-learn --ham --no-sync --progress $MAILDIR/cur/
>     bogofilter -n -v -B $MAILDIR/cur/
> fi
>
>
> Gruß Christian
>
> Thus wrote Ulrich Fürst (Fuerst.Ulrich@vr-web.de) [07.08.26 10:41]:
> > Ich möchte in einem Script für einem Verzeichnis zuächst testen ob es
> > "nicht leer" ist, bevor dort bogofilter bzw. spamassassin trainiert
> > werden.
> >
> > Funktionieren tut das soweit ich gemerkt habe mit
> >
> > if [ -e "`ls | tail -n 1`" ]; then echo ja; else echo nein; fi
> >
> > 1. Warum funktioniert das nur, wenn ich die " setze und ohne nicht
> > (bei leerem Verzeichnis)? Bei vorhandenen Dateien ist es anscheinend
> > egal solange nur Dateinamen ohne Leerzeichen vorkommen (und das ist
> > dort so).
> >
> > 2. Geht das eleganter?
> > Mir fiele da xargs mit Option -r ein.
> >
> > ls | /usr/bin/bogofilter -b -s
> > würde dann wohl zu
> > ls | xargs -r /usr/bin/bogofilter -b -s
> >
> > for i in `ls | tail -n 1`; do
> >       echo Learning Spam in /home/ulrich/.Mail/SpamFilter/Spam/ ...
> >       sa-learn --no-sync -u Debian-exim --showdots
> > --spam ./* && /bin/rm --verbose ./*
> > done
> >
> > Würde dann zu:
> > ls | xargs -r sa-learn --diverseoptionenundPfade
> >
> > Oder denke ich da falsch?
> >
> > Ulrich



Reply to: