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

Re: bash Frage



Moin Ulrich

versuchs mal mit wc:

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
> 

-- 
-----------------------------------------------------------------------
PGP/OpenPGP/GnuPG encrypted mail preferred in all private communication.
Key ID: 0x61E7150B - 4EFC 3FA6 FB8E 2BD5 CA11  6F15 F557 6B5D 61E7 150B

Christian Kuka
ckuka@madkooky.de 

Attachment: signature.asc
Description: Digital signature


Reply to: