2013-05-05 82 views
19

我想使用wget,以便我的文件具有我想要的名称。例如,如果我的电子邮件地址为wget -r http://www.x.com/y/z,则主文件将被命名为z,即使它实际上是index.htmlwget指定下载的文件名并且没有其他文件

我检查的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. ... 

好像所有的文件都将被连接起来并写入所需的名称的文件。我只想要连接主文件(而不是任何由递归产生的文件)。我怎样才能做到这一点?

+1

我不知道你是什么意思“我想只有主文件是连接在一起。” – 2013-05-12 00:14:11

+0

最终,网络服务器是根据传入网址决定发送给您的内容的,因此没有绝对的解决方案。 – 2013-05-14 07:26:35

回答

35

离开了-r,而不是如果你只想主文件:

wget -O customFileName http://www.x.com/y/z 

wget不支持重命名只是递归下载的一个文件。请记住,文件名与URL的部分相对应,重命名文件会破坏文件之间的链接。您可以随时要么打破它有两种:

wget -O customFileName http://www.x.com/y/z 
wget -r http://www.x.com/y/z 

或者只是文件重命名自己:

wget -r http://www.x.com/y/z 
mv z customFileName 
+0

我想要所有的文件。 – 2013-05-11 23:48:52

+0

@PaulS。我已经添加了一些其他选项。 – 2013-05-12 00:14:42

3

试着在后面加上一个/到URL的末尾:

$ wget -r http://www.x.com/y/z/ 

这导致index.html文件被保存在z文件

+0

好的...但可以选择我想要的文件名吗? – 2013-05-08 14:28:41

+2

从'man wget':--default-page = name:当名称不是已知(即,以斜线结尾的URL)而不是index.html时,将名称用作默认文件名。 – 2013-05-08 22:22:04

相关问题