Ich hatte eine ähnliche Anforderung und die folgende Kombination scheint die perfekte Wahl zu sein:
Im folgenden Beispiel werden alle Dateien in http://url/dir1/dir2 (allein) in das lokale Verzeichnis /dest/dir
heruntergeladenwget -nd -np -P /dest/dir --recursive http://url/dir1/dir2
Danke @ffledgling für den Hinweis auf "-nd"
Für das obige Beispiel:
wget -nd -np --mirror --user=x --password=x ftp://ftp.site.com/folder/subfolder/evendeeper
Auszüge aus dem Handbuch:
-nd
--no-directories
Do not create a hierarchy of directories when retrieving recursively. With this option turned on, all files will get saved to the current directory, without clobbering (if a name shows up more than once, the
filenames will get extensions .n).
-np
--no-parent
Do not ever ascend to the parent directory when retrieving recursively. This is a useful option, since it guarantees that only the files below a certain hierarchy will be downloaded.
-np
Die Option (no parent) wird wahrscheinlich das tun, was Sie wollen, verbunden mit -L 1
(Ich glaube, ich habe noch keine wget-Installation vor mir), was die Rekursion auf eine Ebene beschränkt.
BEARBEITEN. OK. gah... vielleicht sollte ich warten, bis ich Kaffee getrunken habe. Da ist eine --cut
oder ähnliche Option, mit der Sie eine bestimmte Anzahl von Verzeichnissen aus dem Ausgabepfad "ausschneiden" können, also für /a/b/c/d
, würde ein Schnitt von 2 wget zwingen, c/d
zu erstellen auf Ihrem lokalen Rechner
Für einen Pfad wie:ftp.site.com/a/b/c/d
-nH
würde alle Dateien in das Verzeichnis a/b/c/d
herunterladen im aktuellen Verzeichnis und -nH --cut-dirs=3
würde alle Dateien in das Verzeichnis d
herunterladen im aktuellen Verzeichnis.