为什么 wget url/mediafile.ext > medafile2.ext 不起作用?

为什么 wget url/mediafile.ext > medafile2.ext 不起作用?

我尝试了以下操作:

[$] wget http://cdn.edgecast.steamstatic.com/steam/apps/256679148/movie480.webm > Conan1.webm 
                                                    [1:21:05]
--2017-02-23 01:51:50--  http://cdn.edgecast.steamstatic.com/steam/apps/256679148/movie480.webm
Resolving cdn.edgecast.steamstatic.com (cdn.edgecast.steamstatic.com)... 117.18.232.131
Connecting to cdn.edgecast.steamstatic.com (cdn.edgecast.steamstatic.com)|117.18.232.131|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11255413 (11M) [video/webm]
Saving to: ‘movie480.webm’

movie480.webm                       100%[===================================================================>]  10.73M  33.7KB/s    in 6m 25s  

2017-02-23 01:58:16 (28.6 KB/s) - ‘movie480.webm’ saved [11255413/11255413]

可以看出,命令的第一部分有效,wget 下载了文件,但命令的第二部分重命名了文件,在本例中下载的是非常通用的 movie480.webm。为什么不是 conan1.webm ,我建议它采用的名称。

我确实知道如果我这么做了——

$ mv  movie480.webm conan1.webm 

那么它就可以工作,但这意味着一个额外的命令。为什么失败了?尽管与上面所示类似,是否还有另一种方法可以在单个命令中执行相同的操作?

答案1

您没有“建议它采用”名称Conan1.webm,而是将其标准输出流重定向到名为Conan1.webm.由于wget默认情况下不写入标准输出,因此这对内容的保存位置没有影响。

请参阅man wget- 特别是-O选项:

-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 -.)

所以你可以使用

wget -O Conan1.webm http://cdn.edgecast.steamstatic.com/steam/apps/256679148/movie480.webm 

或者

wget -O- http://cdn.edgecast.steamstatic.com/steam/apps/256679148/movie480.webm > Conan1.webm 

答案2

将符号更改>-O.>用于将命令通常打印到屏幕的文本(更准确地说,只是其标准输出)重定向到文件。使用创建的文件>包含通常打印到屏幕上的文本。

相关内容