I have an wget command like this in my shell script:
reponse=\"`wget -O- http:localhost:8080/app/index.html`\"
I don\'t understand the -O-
wget -O teleComData.csv https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/ML0101ENv3/labs/teleCust1000t.csv
This command downloads the csv file from the specified url and saves it as teleComData.csv
. If you hadn't used the -O
flag, it would simply save the file as it is.
Depending on your system you should be able to find reference by typing man wget
. The GNU Wget man page says this of the -O|--output-document
flag:
If
-
is used as file, documents will be printed to standard output, disabling link conversion. (Use./-
to print to a file literally named-
.)
And continues…
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 likewget -O - http://foo > file
; file will be truncated immediately, and all downloaded content will be written there.
It's not uncommon to see combined with -q
and written as -q0-
or -q0 -
followed by a uri. It validates against the POSIX standard so, yeah, I'd say it's a standard thing for shell scripting.
Here's the man page of wget -O:
http://www.gnu.org/software/wget/manual/html_node/Download-Options.html#Download-Options
Here's a few examples:
wget with no flag
wget www.stackoverflow.com
Output:
A file named as index.html
wget with -O flag
wget -O filename.html www.stackoverflow.com
Output:
A file named as filename.html
wget with -O- flag
wget -O- www.stackoverflow.com
Output:
Output to stdout
for the manual of wget: use man wget if you are on Unix platform. Else, try "man page wget" on google.
The -O- stand for "Get as a file and print the result on STDOUT"