使用wget下载文件


Answers:


22

我认为您?的解释是通过shell解释的(更正为vinc17:更可能是&解释的解释)。

只需在URL周围使用简单的引号即可:

wget 'http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file'

请注意,您请求的.tar文件是一个文件,但是上述命令会将其另存为index.html?acc=GSE48191&format=file。要正确命名,您可以将其重命名为.tar

mv 'index.html?acc=GSE48191&format=file' GSE4819.tar

或者,您可以将名称作为选项wget

wget -O GSE48191.tar 'http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file'

上面的命令会将下载的文件GSE48191.tar直接保存为。


它已下载,但它甚至都不是目录。如果查看链接ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE48191,则可以看到存在多个.gz文件。我仍然无法访问它们??
user3138373 2014年

我认为OP使用的外壳程序将忽略?,因为没有匹配项。主要问题是&:这将在后台运行前面的部分(因此URL不完整)。但是解决方案是相同的:引用URL。
vinc17

感谢您对terdon和vinc进行的编辑/更正。@ user3138373:我在提供的链接上找不到您的.gz文件,能否请您再说一遍您用于查看/访问它们的URL?
Qeole 2014年

1
@ user3138373您下载的文件是一个.tar包含.gz文件的归档文件(文件)。下载完成后,请运行tar xvf GSE4819.tar以展开存档并访问文件。
terdon

3

可能可行的另一种方法是使用以下命令:

wget -O nameOfTar.tar "http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file"

-O命令将指定要下载到的名称。

当然,最初的问题是因为外壳程序正在解释“&”,用双引号引起来的URL可以解决此问题。


2
-O option用于指定保存下载的数据的文件的名称。它与下载的数据无关(也许这就是您的意思,但我发现不清楚)。
Qeole 2014年

是的,很抱歉,我将做出更正
ryekayo 2014年

我不确定为什么这被否决了。
ryekayo 2014年

3
我没有投票,但这可能是因为您的解决方案无法解决问题:&由Shell解释,并且.tar文件下载将失败。
Qeole 2014年


0

从$ curl -G http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191">here</a>.</p>
</body></html>

所以你需要做

wget https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191

注意http后面的“ s”。我自己尝试过,效果很好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.