7

I'm using wget with the -i option to download a list of files from a URL.

However, I want to specify the names that these files will be saved with as well.

I see you can do that with a single file using -O, and can specify a directory with -P; is it possible to download a list of files, and specify filenames for each of them?

4

wget

Probably not with wget

perl

Something like ...

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

For Windows use " instead of '

curl

I note that curl has some options that might be relevant

-K, --config

Specify which config file to read curl arguments from.

--url

Specify a URL to fetch. This option is mostly handy when you want to specify URL(s) in a config file.

This option may be used any number of times. To control where this URL is written, use the -o, --output or the -O, --remote-name options.

-o, --output <file>

Write output to instead of stdout. If you are using {} or [] to fetch multiple documents, you can use '#' followed by a number in the specifier. That variable will be replaced with the current string for the URL being fetched. Like in:

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

or use several variables like:

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

You may use this option as many times as the number of URLs you have.

| improve this answer | |
1

Not wget, but aria2c supports this https://aria2.github.io/manual/en/html/aria2c.html#input-file

aria2c -i fileList.txt

For example, the content of fileList.txt is:

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

If aria2 is executed with -i fileList.txt -d /tmp options, then file.iso is saved as /iso_images/file.img and it is downloaded from http://server/file.iso and http://mirror/file.iso. The file bar is downloaded from http://foo/bar and saved as /tmp/bar.

| improve this answer | |
  • +1 for aria2c. It's a powerful tool and has other nice features like parallel downloading as well. – Sarke Sep 3 '18 at 2:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.