ChatGPT解决这个技术问题 Extra ChatGPT

wget command to download a file and save as a different filename

I am downloading a file using the wget command. But when it downloads to my local machine, I want it to be saved as a different filename.

For example: I am downloading a file from www.examplesite.com/textfile.txt

I want to use wget to save the file textfile.txt on my local directory as newfile.txt. I am using the wget command as follows:

wget www.examplesite.com/textfile.txt
It's wget -O newfile.txt.
but wget -o will simply give you the progress of downloading as a logfile. I tried wget -o.
wget -o will output log information to a file. wget -O will output the downloaded content. man wget will tell you all of this and more.
What @AndyRoss said: mind the capitalisation; it's commonly MEANINGFUL in unix/linux land.
This does not answer the question at all. The OUTPUT of the command will be saved to -o file, but the file itself will be downloaded with the same name and not "saved as".

t
thutt

Use the -O file option.

E.g.

wget google.com
...
16:07:52 (538.47 MB/s) - `index.html' saved [10728]

vs.

wget -O foo.html google.com
...
16:08:00 (1.57 MB/s) - `foo.html' saved [10728]

Man pages reveal: "Use of -O is not intended to mean simply 'use the name file instead of the one in the URL;' rather, it is analogous to shell redirection: wget -O file http://foo is intended to work like wget -O - http://foo > file; file will be truncated immediately, and all downloaded content will be written there."
How would one append to foo.html instead of overwriting it?
@CraigJacobs you can output wget in console and append it to file. For example wget -O - -o /dev/null http://google.com >> foo.html. Reference
This approach would render --timestamping ineffective
This command won't create the file if the directory doesn't exist before
m
mousomer

Also notice the order of parameters on the command line. At least on some systems (e.g. CentOS 6):

wget -O FILE URL

works. But:

wget URL -O FILE

does not work.


m
mpm

You would use the command Mechanical snail listed. Notice the uppercase O. Full command line to use could be:

wget www.examplesite.com/textfile.txt --output-document=newfile.txt

or

wget www.examplesite.com/textfile.txt -O newfile.txt

Hope that helps.


--output-document=newfile.txt is what worked for me. All attempts to use -O failed with the error Resolving webmin_1.630_all.deb (webmin_1.630_all.deb)... failed: Name or service not known.
L
Lakshman Pilaka
wget -O yourfilename.zip remote-storage.url/theirfilename.zip

will do the trick for you.

Note:

a) its a capital O.

b) wget -O filename url will only work. Putting -O last will not.


G
Gabriel Staples

Either curl or wget can be used in this case. All 3 of these commands do the same thing, downloading the file at http://path/to/file.txt and saving it locally into "my_file.txt":

wget http://path/to/file.txt -O my_file.txt  # my favorite--it has a progress bar
curl http://path/to/file.txt -o my_file.txt
curl http://path/to/file.txt > my_file.txt

Notice the first one's -O is the capital letter "O".

The nice thing about the wget command is it shows a nice progress bar.

You can prove the files downloaded by each of the 3 techniques above are exactly identical by comparing their sha512 hashes. Running sha512sum my_file.txt after running each of the commands above, and comparing the results, reveals all 3 files to have the exact same sha hashes (sha sums), meaning the files are exactly identical, byte-for-byte.

See also: How to capture cURL output to a file?


d
dhh

Using CentOS Linux I found that the easiest syntax would be:

wget "link" -O file.ext

where "link" is the web address you want to save and "file.ext" is the filename and extension of your choice.


I dont understand answering an already-answered-question with the same answer 2 years later..