Dateien mit wget herunterladen


Antworten:


22

Ich denke, dass Ihr ?von Shell interpretiert werdet (Korrektur von vinc17: Wahrscheinlicher ist, dass es das ist, &was interpretiert wird).

Versuchen Sie es einfach mit einfachen Anführungszeichen um Ihre URL:

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

Beachten Sie, dass die von Ihnen angeforderte .tarDatei eine Datei ist, mit dem obigen Befehl jedoch gespeichert wird index.html?acc=GSE48191&format=file. Um einen korrekten Namen zu erhalten, können Sie ihn entweder umbenennen in .tar:

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

Oder geben Sie den Namen optional an wget:

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

Der obige Befehl speichert die heruntergeladene Datei als GSE48191.tardirekt.


Es wird heruntergeladen, aber es ist nicht einmal ein Verzeichnis. Wenn Sie sich den Link ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE48191 ansehen , sehen Sie, dass mehrere .gz-Dateien vorhanden sind. Ich kann immer noch nicht darauf zugreifen?
user3138373

Ich nehme an, dass das OP eine Shell verwendet, die ?als Platzhalter ignoriert wird, da nichts passt. Das Hauptproblem ist &: Dadurch wird der vorhergehende Teil (also mit einer unvollständigen URL) im Hintergrund ausgeführt. Aber die Lösung ist die gleiche: die URL zu zitieren.
Vinc17

Dank dir terdon und vinc für die Bearbeitung / Korrekturen. @ user3138373: Ich kann Ihre .gz-Dateien auf den bereitgestellten Links nicht finden. Können Sie uns bitte noch einmal mitteilen, welche URL Sie verwenden, um sie anzuzeigen / darauf zuzugreifen?
Qeole

1
@ user3138373 Die heruntergeladene Datei ist ein Archiv ( .tarDatei), das die .gz-Dateien enthält. Nach dem Herunterladen können Sie tar xvf GSE4819.tardas Archiv erweitern und auf die Dateien zugreifen.
Terdon

3

Eine andere Möglichkeit, die möglicherweise funktioniert, ist die Verwendung dieses Befehls:

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

Der -OBefehl gibt den Namen an, auf den heruntergeladen werden soll.

Ihr anfängliches Problem besteht natürlich darin, dass das "&" von der Shell interpretiert wurde und die URL in doppelte Anführungszeichen gesetzt wurde, um das Problem zu beheben.


2
-O Mit der Option wird der Name der Datei angegeben, in der die heruntergeladenen Daten gespeichert werden. Es gibt keine Auswirkungen auf heruntergeladene Daten (vielleicht haben Sie das so gemeint, aber ich fand es unklar).
Qeole

Ja sorry, ich werde meine Korrektur machen
Ryekayo

Ich bin nicht sicher, warum dies abgelehnt wurde.
Ryekayo

3
Ich habe nicht abgelehnt, aber das liegt wahrscheinlich daran, dass Ihre Lösung das Problem nicht behebt: Wird &von der Shell interpretiert und der Download der .tarDatei schlägt fehl.
Qeole

0

wget -O "Name-du-willst-als-Format-speichern" http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file

Das sollte Ihnen die Datei bringen, die Sie in das aktuelle Verzeichnis herunterladen möchten, in dem Sie sich befinden.


wget: missing URList es, was darauf wgetantwortet, weil Ihnen das Argument dafür fehlt -O. Außerdem denke ich, dass dies das OP-Problem wahrscheinlich sowieso nicht löst.
Celada,

Da die URL enthält &, funktioniert diese Antwort nur, wenn Sie die URL hinzufügen ""oder ''um sie herum.
Aaron Franke

0

Aus $ 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>

Also musst du tun

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

Beachten Sie das "s" nach http. Ich habe es selbst ausprobiert und es hat gut funktioniert.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.