7

Я использую wget с опцией -i для загрузки списка файлов с URL.

Однако я хочу указать имена, с которыми эти файлы будут сохранены.

Я вижу, что вы можете сделать это с одним файлом, используя -O , и можете указать каталог с -P ; Можно ли загрузить список файлов и указать имена файлов для каждого из них?

2 ответа2

4

Wget

Вероятно, не с Wget

Perl

Что-то вроде ...

perl -MLWP::Simple -lane 'getstore($F[0],$F[1])' urls_and_filenames.txt

Для Windows используйте «вместо»

локон

Отмечу, что у curl есть несколько опций, которые могут быть актуальны

-K, --config

Укажите, из какого конфигурационного файла читать аргументы curl.

...

--url

Укажите URL для получения. Эта опция в основном удобна, когда вы хотите указать URL-адреса в конфигурационном файле.

Эта опция может использоваться любое количество раз. Чтобы контролировать, куда записывается этот URL, используйте параметры -o, --output или -O, --remote-name.

...

-o, --output <file>

Записать вывод вместо stdout. Если вы используете {} или [] для получения нескольких документов, вы можете использовать «#», за которым следует число в спецификаторе. Эта переменная будет заменена текущей строкой для извлекаемого URL. Как в:

curl http://{one,two}.site.com -o "file_#1.txt"

или используйте несколько переменных, таких как:

curl http://{site,host}.host[1-5].com -o "#1_#2"

Вы можете использовать эту опцию столько раз, сколько у вас есть URL.

...

1

Не wget , но aria2c поддерживает это https://aria2.github.io/manual/en/html/aria2c.html#input-file

aria2c -i fileList.txt

Например, содержимое файла fileList.txt:

http://server/file.iso http://mirror/file.iso
  dir=/iso_images
  out=file.img
http://foo/bar

Если aria2 выполняется с параметрами -i fileList.txt -d /tmp , то file.iso сохраняется как /iso_images/file.img и загружается с http://server/file.iso и http://mirror/file.iso . Файл bar загружается с http://foo/bar и сохранить как /tmp/bar

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .