Portál AbcLinuxu, 16. července 2025 20:56


Dotaz: Pomoc s bashovym skriptem. Nacteni jmena souboru.

12.7.2007 12:17 Lemmy | skóre: 1 | blog: ctyri_iks
Pomoc s bashovym skriptem. Nacteni jmena souboru.
Přečteno: 434×
Odpovědět | Admin
Ahoj,

rad bych vas pozadal o radu s bashovym skriptem.

Na konci by to mel byt skript pro automaticky update bayes databaze spamassassinu.

Skript by mel pro kazdy soubor v danem adresari spusti prikaz sa-learn s prislusnymi parametry. Jako posledni parametr bude jmeno souboru. Zatim mam jen takovy lehky uvod:

#!/bin/bash
for filename in /var/SPAM/*
do

sa-learn --spam jmenosouboru

done
exit 0
Bohuzel nevim jak predat prikazu sa-learn jako parametr jmeno souboru. Nejspis bude asi potreba nacist jmena souboru do pole a nad tim polem pak provest prikaz sa-learn, ale na to uz bohuzel me znalosti nestaci.

Diky moc za kazde nakopnuti spravnym smerem.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.7.2007 12:29 honzulak1 | skóre: 9 | blog: honzulakuv_blog
Rozbalit Rozbalit vše Re: Pomoc s bashovym skriptem. Nacteni jmena souboru.
Odpovědět | | Sbalit | Link | Blokovat | Admin
sa-learn --spam "$filename"
12.7.2007 14:27 Lemmy | skóre: 1 | blog: ctyri_iks
Rozbalit Rozbalit vše Re: Pomoc s bashovym skriptem. Nacteni jmena souboru.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak tady mam (aspon doufam) hotovy skript:

#!/bin/bash
fetchmail -f /home/saupd/fetchmail.spam

if test -z "`ls /home/saupd/SPAM/`"; then
    echo 'No spam'
else
    for filename in /home/saupd/SPAM/*
    do
       sa-learn --spam "$filename"
       mv "$filename" /home/saupd/SPAM-OLD/
    done
fi

if test -z "`ls /home/saupd/HAM/`"; then
    echo 'No ham'
else
    for filename in /home/saupd/HAM/*
    do
       sa-learn --ham "$filename"
       mv "$filename" /home/saupd/HAM-OLD/
    done
fi
exit 0
Soubor fetchmail.spa, vypada takto:

poll 192.168.2.148 protocol imap username spam password heslo keep mda " cat > /home/saupd/SPAM/`date +%m%d%H%M%S%N`"

poll 192.168.2.148 protocol imap username spam password heslo folder HAM keep mda " cat > /home/saupd/HAM/`date +%m%d%H%M%S%N`"
Diky za radu a snad to bude nekomu k uzitku.
Josef Kufner avatar 12.7.2007 17:24 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Pomoc s bashovym skriptem. Nacteni jmena souboru.
Pokud vím, tak sa-learn akceptuje i více jmeno souborů. Nebo ne? Pak by jej stačilo spustit pomocí xargs a výrazně by se to zrychlilo.
Hello world ! Segmentation fault (core dumped)
12.7.2007 18:00 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Pomoc s bashovym skriptem. Nacteni jmena souboru.
Přinejmenším akceptuje jako argument adresář, potom použije všechny soubory v daném adresáři.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.