wget-el szeretnék lehúzni egy csomó fájlt, aminek a nevében szerepel egy adott minta (
*minta*
)
így próbálom:
wget -A *minta* -r URL
erre 1db, a mintára nem is illeszkedő fájl letöltése után megáll, ezt adja:
--2009-08-20 16:01:00-- URL
URL feloldása... xxx.xxx.xxx.xxx
Csatlakozás a következőhöz: URL[xxx.xxx.xxx.xxx]:xx... kapcsolódva.
HTTP kérés elküldve, várom a választ... 200 OK
Hossz: xxxx (x,xK) [text/html]
Mentés ide: „URL/index.html”
100%[============================================>] x.xxx --.-K/s idő 0s
2009-08-20 16:01:00 (xx,x MB/s) - „URL/index.html” mentve [xxxx/xxxx]
Eltávolítom URL/index.html-t, mivel vissza kellene utasítani.
BEFEJEZTEM --2009-08-20 16:01:00--
Letöltve: 1 fájl, x,xK 0s alatt (xx,x MB/s)
Ha kiszedem az -A kapcsolót, akkor működik, értelemszerűen lehúz mindent, azt is amit nem kellene. hol lehet a hiba?
szerk:
próbáltam még a következő kapcsolókat és bizonyos kombinációikat, de ugyanez az eredmény:
-c
-m
-L
-E
--restrict-file-names=unix
--restrict-file-names=windows
--restrict-file-names=nocontrol
============ B U G ! =============
vagy legalábbis úgy néz ki:
https://bugzilla.redhat.com/show_bug.cgi?id=286161
azt írják, hogy van rá valami patch, de nem tudom, hogy az csak RH specifikus-e, vagy sem. Mindenesetre nálam a Lenny a saját repojában lévő 1.11.4-2-vel még csinálja ezt.
talán mégsem bug
============MEGOLDÁS(?)==========
talán ez, de még nem próbáltam:
"wget letölti azokat a fájlokat, amiket megadsz neki implicite, aztán ha megmondod neki hogy rekurzió kell, megpróbálja azokat parsolni, kigyűjt belőlük linkeket, majd azok közül amiről úgy gondolja hogy le kell töltenie, pl minta miatt, azokkal kezdi elölről
(azt hiszem ezenkívül csak két lehetőség van, a "-p" és a letöltések sorrendje, tehát minden talált oldalnál a megadott fájlok letöltése vagy előbb a teljes fa/linklista összeállítása/letöltése, meg talán hogy szélességi vagy mélységi legyen a bejárás)
szerintem add meg neki hogy a html-eket (vagy ami kell, tehát ami link szerepel az indexben) azokat is töltse le"
==========WORKAROUND=============
ha a fájlok valamennyire rendezetten vannak elnevezve/elhelyezve, akkor egy egyszerű bash scripttel lehet hívogatni a wget-et a szabályszerűség szerint és nem kell rekurzió.