Действительно ли wget или какой-либо другой http регистрируют загрузчик на подстановочных знаках поддержки Ubuntu?

Я хотел бы смочь записать сценарий удара для автоматического обновления моих расширений MediaWiki, и я думаю, что буду использовать этот веб-сайт https://extdist.wmflabs.org/dist/extensions/, чтобы сделать так. Но поскольку Вы видите там, что каждое tarball имя файла имеет случайное (или таким образом, это появляется мне), комбинация букв и чисел после заключительного тире (-). Таким образом, то, что я хотел бы, является некоторым способом загрузить только файлы этим видом имени extname-REL1_25*.tar.gz где * место, где подстановочный знак на имя вошел бы и extname отсылает к расширению имя I want.

1
задан 17 June 2015 в 11:09

2 ответа

Нет, это невозможно с подстановочными знаками. Но в этой ситуации wget будет работать с рекурсивной загрузкой - https://unix.stackexchange.com/questions/25340/download-recursively-with-wget

0
ответ дан 10 November 2019 в 10:51

wget заключают в фигурные скобки расширение

Используйте расширение фигурной скобки с wget для загрузки нескольких файлов согласно шаблону.

Пример:

wget -c https://extdist.wmflabs.org/dist/extensions/GoogleDocTag-REL1_{22-45203b7,23-249c6f2,24-3186a71,25-10e101f}.tar.gz

Дополнительное -c флаг продолжает загрузку, если это приостановлено или прервано от той же точки, где это было остановлено. -c опция полезна, когда Вы загружаете большое количество файлов, и Вы хотите загрузить все файлы в пакете без прерываний.

wget загружают несколько файлов со списка

Пример:

lynx -dump "https://extdist.wmflabs.org/dist/skins/" | awk '/http/{print $2}' | uniq >> list.txt  
wget -c -E -H -k -K -p -e robots=off -i ./list.txt    

рекурсивные wget принимают/отклоняют опции

Recursive Accept/Reject Options
    -A acclist --accept acclist
    -R rejlist --reject rejlist
        Specify comma-separated lists of file name suffixes or patterns to
        accept or reject. Note that if any of the wildcard characters, *,
        ?, [ or ], appear in an element of acclist or rejlist, it will be
        treated as a pattern, rather than a suffix.  In this case, you 
        have to enclose the pattern into quotes to prevent your shell 
        from expanding it, like in -A "*.mp3" or -A '*.mp3'.

Пример:

lynx -dump "https://extdist.wmflabs.org/dist/skins/" | awk '/http/{print $2}' | uniq >> list.txt  
wget -c -A "Vector*.tar.gz" -E -H -k -K -p -e robots=off -i ./list.txt  

Оба -A и -R опции загружают все файлы и затем принятие и отклоняют опции, удаляют загруженные файлы, которые не соответствуют шаблону. Это ужасно неэффективно. Более быстрый способ сделать это состоял бы в том, чтобы сделать сопоставление с образцом на файле list.txt для удаления всех нежелательных файлов из list.txt прежде, чем загрузить что-либо.

Предположим, что Вы хотите загрузить все файлы с https://extdist.wmflabs.org/dist/extensions/, которые удовлетворяют следующие условия:

  • версия 1.25
  • только выбранные расширения MediaWiki

Предположение, что Вы уже сделали файл list.txt, который содержит все ссылки в https://extdist.wmflabs.org/dist/extensions/, Вы открываете list.txt в текстовом редакторе, который поддерживает сопоставление с образцом, и отфильтруйте содержание list.txt для соответствия строкам, имеющим строку 1_25 (который относится к версии 1.25), и затем отфильтруйте те результаты для соответствия строкам, имеющим эти ~20 расширений (номер 20 не важен), что Вы хотите загрузить. Затем запишите результаты в новый файл под названием new-list.txt (имя файла, new-list.txt не важен), и загрузите несколько файлов (~20 в числе в этом примере) использование new-list.txt после wget's -i опция считать URL из локального или внешнего файла.

Дальнейшее совершенствование этого метода должно было бы сократить количество расширений для соответствия путем фильтрации содержания list.txt для соответствия расширениям, содержащим строки, которые соответствуют больше чем одному расширению, которое Вы ищете. Например, если строка wiki соответствия несколько расширений, которые Вы ищете, можно отфильтровать содержание list.txt для соответствия wiki и сэкономьте определенное время. В https://extdist.wmflabs.org/dist/extensions/существует пять ссылок, которые содержат обоих 1_25 и wiki и можно найти все пять ссылок с двумя соответствиями шаблона.

2
ответ дан 7 December 2019 в 13:57

Другие вопросы по тегам:

Похожие вопросы: