Linux "wget -O - http://foo.com",'-O' 后的'-'什么含义?

riioch · 2014年07月11日 · 最后由 dorentus 回复于 2014年07月11日 · 10736 次阅读

如题请教

将获取的文档写到一个文件。

应该重定向到标准输出吧

man wget

-O file
 --output-document=file
     The documents will not be written to the appropriate files, but all will be concatenated together and written to file.  If - is used
     as file, documents will be printed to standard output, disabling link conversion.  (Use ./- to print to a file literally named -.)

     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.

     For this reason, -N (for timestamp-checking) is not supported in combination with -O: since file is always newly created, it will
     always have a very new timestamp. A warning will be issued if this combination is used.

     Similarly, using -r or -p with -O may not work as you expect: Wget won't just download the first file to file and then download the
     rest to their normal names: all downloaded content will be placed in file. This was disabled in version 1.11, but has been reinstated
     (with a warning) in 1.11.2, as there are some cases where this behavior can actually have some use.

     Note that a combination with -k is only permitted when downloading a single document, as in that case it will just convert all
     relative URIs to external ones; -k makes no sense for multiple URIs when they're all being downloaded to a single file; -k can be
     used only when the output is a regular file.

If - is used as file, documents will be printed to standard output, disabling link conversion. (Use ./- to print to a file literally named -.)

-O -

我还以为是好看。。。

#5 楼 @pynix wget 的这个还确实可以写成更好看的 -O- 😄

需要 登录 后方可回复, 如果你还没有账号请 注册新账号