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