Я пытаюсь скачать два файла по следующему синтаксису:
curl -O http://domain/path/to/{file1,file2}
Проблема в том, что только первый файл фактически сохраняется локально, а второй просто выводится на стандартный вывод.
Я понял, что, если я добавлю, -O
это работает просто отлично:
curl -OO http://domain/path/to/{file1,file2}
Но разве это не практично, если количество файлов становится слишком большим? Например,
curl -O http://domain/path/to/file[1,100]
У меня вопрос, неужели нет способа загрузить несколько отдельных файлов одновременно curl
(без добавления правильного количества -O
)?
curl
можно ли этого добиться. (2) Я рассматриваю не только HTTP (s), FTP протоколы, например SFTP.curl
просто не получается с такой несложной функциональностью?{}
и[]
(а также*
и?
) - это глобализация / расширение оболочки , онcurl
никогда их не увидит, он такой же, какcurl url1 url2
Ответы:
Обновление: это было реализовано в curl 7.19.0. Смотрите ответ @Besworks.
Согласно справочной странице, нет способа сохранить исходное имя файла, кроме как с помощью нескольких символов. В качестве альтернативы вы можете использовать свои собственные имена файлов:
в результате чего
http://one.site.com
сохраняютсяfile_one.txt
иhttp://two.site.com
сохраняются вfile_two.txt
.или даже несколько переменных, таких как
в результате чего
http://site.host1.com
сохраняются вsite_1
,http://host.host1.com
сохраняются вhost_1
и так далее.источник
curl -$(printf 'O%.0s' {1..3}) http://domain/path/to/{file1,file2,file3}
Я понимаю, что на этот вопрос уже есть принятый ответ, но я чувствую, что должен указать, что на самом деле есть способ сделать это.
--remote-name-all
Опция говорит завиток вести себя , как если бы вы использовали-O
или--remote-name
для каждого файла.https://curl.haxx.se/docs/manpage.html#--remote-name-all
Эта опция была доступна с версии 7.19.0
https://curl.haxx.se/changes.html#7_19_0
источник
Существует альтернативный способ загрузки нескольких файлов с помощью curl:
Примечание . Обязательное пространство используется для разделения различных URL-адресов.
источник