このWebサイト からファイルをダウンロードしようとしています。
URLは次のとおりです http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file
このコマンドを使用すると:
wget http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file
index.html?acc=GSE48191
は、ある種のバイナリ形式です。
このHTTPサイトからファイルをダウンロードするにはどうすればよいですか?
私はあなたの?
がシェルによって解釈されると思います(vcc17による修正:おそらく、解釈されるのは&
です)。
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
として保存します。
機能する可能性のある別の方法は、次のコマンドを使用することです。
wget -O nameOfTar.tar "http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file"
-O
コマンドは、ダウンロード先の名前を指定します。
もちろん、最初の問題は、「&」がシェルによって解釈されていたためであり、URLを二重引用符で囲んで問題を修正しています。
$ 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」に注意してください。私はそれを自分で試してみましたが、うまくいきました。
wget -O "name-you-want-to-save-as.format" http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file
これにより、現在のディレクトリにダウンロードするファイルが取得されます。