Descargue archivos y cree la misma estructura de archivos que la fuente

Descargue archivos y cree la misma estructura de archivos que la fuente

Tengo un archivo de configuración que consta de una lista de URI que quiero descargar. Por ejemplo,

  http://xyz.abc.com/Dir1/Dir3/sds.exe
  http://xyz.abc.com/Dir2/Dir4/jhjs.exe
  http://xyz.abc.com/Dir1/itr.exe

Quiero leer el archivo de configuración y copiar cada URL pero al mismo tiempo crear la misma estructura de directorio que en el host. Por ejemplo, para la primera línea del archivo de configuración, quiero crear la estructura de directorio Dir1/Dir3 en mi máquina local (si no existe) y luego copiar sds.exe a .../Dir1/Dir3/

Descubrí que puedo descargar todas las URL en un archivo usando 'wget -i' pero ¿cómo puedo crear la estructura de directorio correspondiente con eso?

Respuesta1

De man wget:

-x, --force-directorios:

[...]

crear una jerarquía de directorios, incluso si no se hubiera creado ninguna de otra manera. Por ejemplo, wget -xhttp://fly.srk.fer.hr/robots.txtguardará el archivo descargado en fly.srk.fer.hr/robots.txt.

Respuesta2

Para obtener la estructura que solicita, sugeriría usar -nH y -x.

Esto eliminará el nombre de host y creará la estructura de directorio esperada.

p.ej

wget -x -nH http://xyz.abc.com/Dir1/Dir3/sds.exe

- 'Dir1/Dir3/sds.exe' saved [1234]

Desde la página de manual:

-nH
--no-host-directories
   Disable generation of host-prefixed directories.  By default, invoking Wget with -r http://fly.srk.fer.hr/ will create a structure of directories beginning with fly.srk.fer.hr/.  This option disables such behavior.

-x
--force-directories
   ...create a hierarchy of directories, even if one would not have been created otherwise...

información relacionada