Как загрузить много документов на терминал с сервера?

Мне нужно написать скрипт bash (.sh) с менее чем 300 символами, который загружает все геномы 22 на этом сервере ftp://ftp.ncbi.nih.gov/genomes/Homo_sapiens/ (те, у которых расширение fa.gz ) и извлекает их. Моим первым было просто написать wget ftp://ftp.ncbi.nih.gov/genomes/Homo_sapiens/CHR_01/hs_alt_CHM1_1.1_chr1.fa.gz | gunzip wget ftp://ftp.ncbi.nih.gov/genomes/Homo_sapiens/CHR_01/hs_alt_CHM1_1.1_chr1.fa.gz | gunzip но я не могу этого сделать для 22 файлов. Я понял, что все файлы имеют одно и то же имя, кроме номера рядом с CHM и chr. Например, десятый геном – ftp://ftp.ncbi.nih.gov/genomes/Homo_sapiens/CHR_10/hs_alt_CHM1_1.1_chr10.fa.gz. Наверное, мне нужно сделать какой-то код рекурсии, но я не очень разбираюсь в bash поэтому любая помощь очень ценится. Спасибо!

One Solution collect form web for “Как загрузить много документов на терминал с сервера?”

Простой цикл должен быть достаточно:

 for i in {1..22} do wget "ftp://ftp.ncbi.nih.gov/genomes/Homo_sapiens/CHR_${i}/hs_alt_CHM1_1.1_chr${i}.fa.gz" gunzip "hs_alt_CHM1_1.1_chr${i}.fa.gz" done 

Индекс цикла не должен быть просто числом, вы можете получить файлы MT , Un , X и Y а также:

 for i in {1..22} MT Un XY 

Поскольку первый набор чисел должен быть нулевым, вы можете использовать printf для этого:

Или:

 firsti="$(printf "%02d" $i)" wget "ftp://ftp.ncbi.nih.gov/genomes/Homo_sapiens/CHR_${firsti}/hs_alt_CHM1_1.1_chr${i}.fa.gz" 

Вы можете запустить тест для этого цикла, но проще просто переместить символы ( MT Un XY ) в отдельный цикл, используя оригинальный wget .

  • wget --spider: как определить, где неработающие ссылки происходят из
  • wget -k не конвертирует все ссылки
  • Как использовать wget для загрузки всех ссылок с моего сайта и сохранения в текстовый файл?
  • Что такое «статья 2001 года» для блокировки «автоматизированных поисковых программ», на которые ссылается страница wget man?
  • Как поставить отметку времени с помощью: wget --output-file =
  • wget - Как загрузить веб-страницы на основе шаблона URL?
  • wget-файл, протоколирование вывода и отображение вывода в командной строке
  • Ошибка wget -output-document = при наличии символа ~
  • wget конвертировать файл tgz в HTML
  • Как я могу использовать wget для загрузки больших файлов?
  • почему скручивание и wget приводят к запрету на 403?
  • Interesting Posts

    Запустить сценарий оболочки при навигации по каталогу с помощью cd

    Почему не может UID 0 обрабатывать жесткую ссылку на SUID-файлы в пространстве имен пользователей?

    Сетевой симулятор ns-2: Моделирование фрагментации в сети с использованием разных MTU на маршрутизаторах

    Список папок, содержащих только подпапку под названием Attic

    Установка Popcorn Time SE

    ld не может найти -lQt5Multimedia

    Системный образ запущенной системы Debian?

    Как я могу узнать, открыт ли порт TCP или нет?

    Как получить набор исправлений ядра linux из списка рассылки?

    Запустить программу после завершения подключения ssh

    Лучший дистрибутив для USB

    Почему сборка не работает, даже если у меня есть URI в моем списке источников?

    Суммируйте значения с запятой в разных столбцах

    Удаление дополнительных нерабочих сканеров

    Разрешить доступ для записи обычному пользователю на общем ресурсе CIFS

    Linux и Unix - лучшая ОС в мире.