Diga ao wget para espelhar as partes do caminho de um URI para pastas

Diga ao wget para espelhar as partes do caminho de um URI para pastas

Eu tenho uma lista de URIs em um arquivo uris.txt:

http://example.com/file1.pdf
http://example.com/file2.pdf
http://example.com/Folder/file3.pdf
http://example.com/Folder/Subfolder/file4.pdf

A estrutura de diretórios resultante no meu HDD deve ser a seguinte:

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

Meu comando atual é:wget -i uris.txt -P downloads

Infelizmente, o wget nivela todos os diretórios, ou seja, o nome do arquivo é determinado pela concatenação do diretório base (fornecido por -P na linha de comando) e a última parte do caminho do URI.

Manter a estrutura de diretórios que um servidor atende é possível, embora apenas com omodo recursivo, que opera apenas em HTML e CSS, em oposição a uma determinada lista de URIs.

Responder1

Você pode obter isso com as opções extras -xou --force-directoriese -nHou --no-host-directoriespara evitar o diretório superior example.com.

Responder2

Leitura sugerida que fornecerá a resposta em umà prova de futurocaminho:

man wget

Procure --no-host-directoriese--cut-dirs=number

--no-host-diretórios
fará com que o wget pule a criação de um diretório chamado "example.com" para colocar todos os dados.

--cut-dirs=número
Farei o mesmo, para numbersubdiretórios, contando de cima para baixo.

informação relacionada