У меня есть список URI в файле 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
Предполагается, что результирующая структура каталогов на моем жестком диске будет следующей:
|
|-file1.pdf
|-file2.pdf
|-Folder
|-file3.pdf
|-Subfolder
|-file4.pdf
Моя текущая команда:wget -i uris.txt -P downloads
К сожалению, wget выравнивает все каталоги, то есть имя файла определяется путем объединения базового каталога (заданного параметром -P в командной строке) и последней части пути URI.
Поддержание структуры каталогов, обслуживаемых сервером, возможно, но только с помощьюрекурсивный режим, который работает только с HTML и CSS, а не с заданным списком URI.
решение1
Этого можно добиться с помощью дополнительных опций -x
или --force-directories
и -nH
или --no-host-directories
, чтобы избежать верхнего каталога example.com.
решение2
Предлагаемое чтение, которое даст ответ вна будущееспособ:
man wget
Ищите --no-host-directories
и--cut-dirs=number
--no-host-directories
заставит wget пропустить создание каталога с именем «example.com» для размещения всех данных.
--cut-dirs=номер
То же самое сделаем для number
подкаталогов, считая сверху.