wget не может получить каталог 4 уровня, используя --include - PullRequest
0 голосов
/ 14 декабря 2018

Сейчас я пытаюсь создать скрипт.В котором загрузка набора каталогов на основе ввода.

Например -

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 голосов
/ 18 декабря 2018

Вам необходимо настроить 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, которая содержит:

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

wget просматривает все ссылки в этом файле:

/apache
/apache/hadoop/common
/apache/hadoop/core
/apache/hadoop/ozone

Ни одна из этих ссылок не соответствует аргументу --include-directories 'apache/hadoop/common/current/', поэтому она завершается.

...