我有一个文件中的 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
–无主机目录
将使 wget 跳过创建名为“example.com”的目录来放置所有数据。
--cut-dirs=数字
对于子目录,将执行相同操作number
,从顶部开始计数。