wget을 사용하여 파일 다운로드


15

이 웹 사이트 에서 파일을 다운로드하려고합니다 .

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 사이트에서 파일을 어떻게 다운로드 할 수 있습니까?

답변:


22

나는 당신 ?이 쉘에 의해 해석된다고 생각합니다 (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

OP는 ?일치하는 것이 없으므로 와일드 카드로 무시하는 쉘을 사용한다고 가정합니다 . 주요 문제는 &: 백그라운드에서 앞에 오는 부분 (따라서 불완전한 URL)을 실행합니다. 그러나 해결책은 동일합니다 : URL을 인용하는 것입니다.
vinc17

편집 / 수정을위한 terdon 및 vinc 덕분에. @ user3138373 : 제공된 링크에서 .gz 파일을 찾을 수 없습니다. 해당 URL을보고 액세스하는 데 사용하는 URL을 다시 말씀해 주시겠습니까?
Qeole

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 옵션 은 다운로드 된 데이터가 저장되는 파일 이름을 지정하는 데 사용됩니다. 다운로드 된 데이터에 대한 발생률은 없습니다 (아마도 당신이 의도 한 것이지만 불분명했습니다).
Qeole

네 죄송합니다, 수정
하겠습니다

왜 이것이 다운 피트되었는지 확실하지 않습니다.
ryekayo

3
나는 downvote하지 않았지만 아마도 솔루션이 문제를 해결하지 못했기 때문일 수 있습니다. &쉘로 해석되어 .tar파일 다운로드 가 실패합니다.
Qeole

0

wget -O "name-you-want-to-save-as.format" http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file

그러면 현재 디렉토리에 다운로드하려는 파일이 표시됩니다.


wget: missing URLwget대한 인수가 누락되었으므로 이에 대한 답변 -O입니다. 또한 이것은 아마도 OP의 문제를 해결하지 못할 것이라고 생각합니다.
Celada

URL에가 포함되어 있으므로 URL &을 추가 ""하거나 ''URL을 둘러싸 지 않으면이 답변이 작동하지 않습니다 .
Aaron Franke

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"가 표시됩니다. 나는 그것을 직접 시도했고 잘 작동했다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.