De man wget
:
-x, --force-directories:
[...]
create a hierarchy of directories, even if one would not have been created otherwise. E.g. wget -x http://fly.srk.fer.hr/robots.txt will save the downloaded file to fly.srk.fer.hr/robots.txt.
Eu tenho um arquivo de configuração que consiste na lista de URIs que eu quero baixar. Por exemplo,
http://xyz.abc.com/Dir1/Dir3/sds.exe
http://xyz.abc.com/Dir2/Dir4/jhjs.exe
http://xyz.abc.com/Dir1/itr.exe
Eu quero ler o arquivo de configuração e copiar cada URL, mas ao mesmo tempo criar a mesma estrutura de diretório que no host. Por exemplo, para a primeira linha no arquivo de configuração, desejo criar a estrutura de diretórios Dir1 / Dir3 em minha máquina local (se ela não existir) e, em seguida, copiar sds.exe para ... / Dir1 / Dir3 /
Descobri que posso fazer o download de todas as URLs em um arquivo usando 'wget -i', mas como posso criar a estrutura de diretório correspondente com isso
De man wget
:
-x, --force-directories:
[...]
create a hierarchy of directories, even if one would not have been created otherwise. E.g. wget -x http://fly.srk.fer.hr/robots.txt will save the downloaded file to fly.srk.fer.hr/robots.txt.
Para obter a estrutura que você está pedindo, sugiro usar -nH e -x.
Isso removerá o nome do host, além de criar a estrutura de diretórios esperada.
por exemplo,
wget -x -nH http://xyz.abc.com/Dir1/Dir3/sds.exe
- 'Dir1/Dir3/sds.exe' saved [1234]
Da página do 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...