Dígale a wget que refleje las partes de la ruta de un URI a las carpetas

Dígale a wget que refleje las partes de la ruta de un URI a las carpetas

Tengo una lista de URI en un archivo uris.txt:

http://ejemplo.com/archivo1.pdf
http://ejemplo.com/file2.pdf
http://ejemplo.com/Carpeta/archivo3.pdf
http://example.com/Folder/Subfolder/file4.pdf

Se supone que la estructura de directorios resultante en mi HDD es la siguiente:

|
|-file1.pdf
|-file2.pdf
|-Folder
  |-file3.pdf
  |-Subfolder
    |-file4.pdf

Mi comando actual es:wget -i uris.txt -P downloads

Desafortunadamente, wget aplana todos los directorios, es decir, el nombre del archivo se determina concatenando el directorio base (dado por -P en la línea de comando) y la última parte de la ruta del URI.

Es posible mantener la estructura de directorios a la que sirve un servidor, aunque sólo con lamodo recursivo, que solo opera en HTML y CSS en lugar de una lista determinada de URI.

Respuesta1

Puede obtener esto con las opciones adicionales -xo --force-directoriesy -nHo --no-host-directoriespara evitar el directorio superior de example.com.

Respuesta2

Lectura sugerida que proporcionará la respuesta en unprueba del futuroforma:

man wget

buscar --no-host-directoriesy--cut-dirs=number

--no-directorios-host
Hará que wget omita la creación de un directorio llamado "example.com" para colocar todos los datos.

--cut-dirs=número
Hará lo mismo, para numberlos subdirectorios, contando desde arriba.

información relacionada