我想使用wget,以便我的文件具有我想要的名称。例如,如果我wget -r http://www.x.com/y/z
,主文件将被命名为z
,即使它实际上是index.html
。
我检查了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. ...
似乎所有文件将被连接并写入所需名称的文件。我想只连接主文件(而不是由递归产生的任何文件)。我怎么能这样做?
答案 0 :(得分:36)
如果您只想要主文件,请忽略-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
答案 1 :(得分:3)
尝试将/
附加到网址的末尾:
$ wget -r http://www.x.com/y/z/
这会导致保存index.html
文件而不是z
文件
答案 2 :(得分:0)
根据我的理解,您希望连接服务器指向的文件,并在网站上递归地将所有文件下载到一个位置。
串连:
wget -qO- http://www.google.com
递归下载到一个地方:
wget --mirror -p --convert-links -P ./LOCAL-DIR http://www.google.com
其中LOCAL-DIR是将下载所有目录的目录。 从这个网站:
http://www.thegeekstuff.com/2009/09/the-ultimate-wget-download-guide-with-15-awesome-examples/