Tenía un requisito similar y la siguiente combinación parece ser la elección perfecta:
En el siguiente ejemplo, todos los archivos en http://url/dir1/dir2 (solo) se descargan en el directorio local /dest/dir
wget -nd -np -P /dest/dir --recursive http://url/dir1/dir2
Gracias @ffledgling por la pista sobre "-nd"
Para el ejemplo anterior:
wget -nd -np --mirror --user=x --password=x ftp://ftp.site.com/folder/subfolder/evendeeper
Fragmentos del manual:
-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
(sin padre) la opción probablemente hará lo que quieras, vinculado con -L 1
(Creo que no tengo una instalación de wget antes que yo), lo que limita la recursividad a un nivel.
EDITAR. está bien. gah... tal vez debería esperar hasta que haya tomado café... Hay un --cut
o una opción similar, que le permite "cortar" un número específico de directorios de la ruta de salida, por lo que para /a/b/c/d
, un corte de 2 obligaría a wget a crear c/d
en su máquina local
Para una ruta como:ftp.site.com/a/b/c/d
-nH
descargaría todos los archivos al directorio a/b/c/d
en el directorio actual, y -nH --cut-dirs=3
descargaría todos los archivos al directorio d
en el directorio actual.