wget无法使用--include获取4级目录

时间:2018-12-14 19:36:39

标签: bash wget

现在我正在尝试创建脚本。其中,根据输入下载一组目录。

例如-

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/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/

它不起作用。

有什么办法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

您需要调整要从中下载的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/'参数,因此退出。