821 Stimmen

Wget-Befehl zum Herunterladen einer Datei und Speichern unter einem anderen Dateinamen

Ich lade eine Datei mit dem Befehl wget herunter. Aber wenn es auf meinem lokalen Rechner heruntergeladen wird, möchte ich, dass es unter einem anderen Dateinamen gespeichert wird.

Zum Beispiel: Ich lade eine Datei von www.examplesite.com/textfile.txt herunter

Ich möchte den Befehl wget verwenden, um die Datei textfile.txt in meinem lokalen Verzeichnis als newfile.txt zu speichern. Ich benutze den Befehl wget wie folgt:

wget www.examplesite.com/textfile.txt

1186voto

naumcho Punkte 17161

Verwenden Sie die -O Datei Option.

Zum Beispiel:

wget google.com
...
16:07:52 (538.47 MB/s) - `index.html' gespeichert [10728]

vs.

wget -O foo.html google.com
...
16:08:00 (1.57 MB/s) - `foo.html' gespeichert [10728]

153voto

mousomer Punkte 2302

Beachten Sie auch die Reihenfolge der Parameter in der Befehlszeile. Zumindest bei einigen Systemen (z.B. CentOS 6):

wget -O DATEI URL

funktioniert. Aber:

wget URL -O DATEI

funktioniert nicht.

45voto

ioMatrix Punkte 603

Sie würden den Befehl Mechanische Schnecke aufgelistet verwenden. Achten Sie auf das Großbuchstabe O. Die vollständige Befehlszeile lautet möglicherweise:

wget www.examplesite.com/textfile.txt --output-document=newfile.txt

oder

wget www.examplesite.com/textfile.txt -O newfile.txt

Hoffe das hilft.

26voto

Gabriel Staples Punkte 20228

Entweder curl oder wget kann in diesem Fall verwendet werden. Alle 3 dieser Befehle tun dasselbe, sie laden die Datei unter http://path/to/file.txt herunter und speichern sie lokal als "my_file.txt".

Beachten Sie, dass in allen unten stehenden Befehlen auch die Verwendung der Option -L oder --location mit curl empfohlen wird, um HTML-302-Weiterleitungen zur neuen Position der Datei zu folgen, wenn sie verschoben wurde.wget benötigt keine zusätzlichen Optionen, um dies automatisch zu tun.

# speichere die Datei lokal als my_file.txt

wget http://path/to/file.txt -O my_file.txt  # mein Favorit--hat eine Fortschrittsanzeige
curl -L http://path/to/file.txt -o my_file.txt
curl -L http://path/to/file.txt > my_file.txt

Alternativ, um die Datei lokal mit demselben Namen wie auf dem Server zu speichern, verwenden Sie entweder wget allein oder curl mit -O oder --remote-name:

# speichere die Datei lokal als file.txt

wget http://path/to/file.txt
curl -LO http://path/to/file.txt
curl -L --remote-name http://path/to/file.txt

Beachten Sie, dass das -O in allen oben aufgeführten Befehlen der Großbuchstabe "O" ist.

Das Schöne am wget-Befehl ist, dass er eine schöne Fortschrittsanzeige anzeigt.

Sie können beweisen, dass die Dateien, die mit jedem der oben beschriebenen 3 Techniken heruntergeladen wurden, genau identisch sind, indem Sie ihre sha512-Hashes vergleichen. Das Ausführen von sha512sum my_file.txt nach dem Ausführen der oben stehenden Befehle und Vergleichen der Ergebnisse zeigt, dass alle 3 Dateien die exakt gleichen sha-Hashes (sha-sums) haben, was bedeutet, dass die Dateien byte-für-byte identisch sind.

Verweise

  1. Ich habe hier über die -L-Option mit curl erfahren: Gibt es eine Möglichkeit, Umleitungen mit dem Befehlszeilen-cURL zu folgen?

Siehe auch: <a href="https://stackoverflow.com/a/69411327/4561887">Wie man cURL-Ausgabe in eine Datei umleitet?</a>

24voto

Lakshman Pilaka Punkte 1525
wget -O yourfilename.zip remote-storage.url/theirfilename.zip

wird den Trick für dich machen

Hinweis:

a) großes O benutzen.

b) wget -O filename url wird funktionieren. -O zuletzt setzen wird nicht funktionieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X