告诉 wget 将 URI 路径的部分镜像到文件夹

告诉 wget 将 URI 路径的部分镜像到文件夹

我有一个文件中的 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,从顶部开始计数。

相关内容