bash - wget 无法使用 --include 获取 4 级目录
问题描述
现在我正在尝试创建一个脚本。其中,根据输入下载一组目录。
例如 -
wget -r -nH --cut-dirs=2 --no-parent --reject "index.html*" \
--include-directories 'apache/hadoop/common/' \
http://mirrors.estointernet.in/apache/hadoop/
这工作正常。
但是,当我试图为从apache/hadoop/common/
to的路径添加一个级别时apache/hadoop/common/current/
。
wget -r -nH --cut-dirs=2 --no-parent --reject "index.html*" \
--include-directories 'apache/hadoop/common/current/' \
http://mirrors.estointernet.in/apache/hadoop/
它不工作。
有什么办法可以做到这一点?
解决方案
您需要调整下载的 URL。尝试这个:
wget -r -nH --cut-dirs=2 --no-parent --reject "index.html*" \
--include-directories 'apache/hadoop/common/current/' \
http://mirrors.estointernet.in/apache/hadoop/common/current
您的原始命令不起作用的原因是因为 wget 下载http://mirrors.estointernet.in/apache/hadoop/index.html
包含:
<html>
<head><title>Index of /apache/hadoop/</title></head>
<body bgcolor="white">
<h1>Index of /apache/hadoop/</h1><hr><pre><a href="../">../</a>
<a href="common/">common/</a> 20-Nov-2018 03:24 -
<a href="core/">core/</a> 20-Nov-2018 03:24 -
<a href="ozone/">ozone/</a> 19-Nov-2018 20:22 -
</pre><hr></body>
</html>
wget 查看该文件中的所有链接,它们是:
/apache
/apache/hadoop/common
/apache/hadoop/core
/apache/hadoop/ozone
这些链接都不匹配 --include-directories 'apache/hadoop/common/current/'
参数,所以它退出。
推荐阅读
- boost - 在包含许多项目的解决方案中双重链接到附加库?
- c# - 来自 Graph API 共享 OneDrive 文件的不同响应
- hibernate - Gradle - 插件任务未执行
- java - 自动登录到 java 应用程序
- java - 尝试等待 CompletableFuture
- mysql - 如何使用 WHERE 子句查询两个日期范围之间的数据?- SQL
- c# - 如何编写可以为同一输入返回不同类型的扩展方法?
- firebase - 从 user_pseudo_id 检索 firebaseUID
- python - Tkinter 的条目列表
- android - 以十六进制显示来自 DB 的图片