Frage

Ich habe eine große Datei mit vielen Links zu Dateien verschiedenen Typen zum Download bereit. Jede Zeile ist ein Download-Befehl wie:

wget 'URL1'

wget 'URL2'

...

und es gibt Tausende von ihnen.

Leider sehen einige URLs wirklich hässlich, wie zum Beispiel: http: //www.cepa .org.gh / Archiv / research-Arbeitspapiere / WTO4% 20 (1) -charles.doc Es öffnet sich OK in einem Browser, aber verwirrt wget.

Ich erhalte eine Fehlermeldung:

./ tasks001.sh: Zeile 35: Syntaxfehler in der Nähe von unerwartetem Token '1'

./ tasks001.sh: Linie 35: `wget‚ http://www.cepa.org.gh/archives/research-working-papers/WTO4%20 (1) -charles.doc ''

Ich habe beide URL versucht und 'URL' Wege, die festlegen, was zum Download bereit.

Gibt es eine Möglichkeit, ein Skript, wie die unbeaufsichtigt laufen zu machen? Ich bin OK, wenn es wird nur die Datei überspringen kann es nicht herunterladen.

War es hilfreich?

Lösung

Ich glaube, Sie doppelte Anführungszeichen verwendet müssen ( ") und nicht einfache Anführungszeichen ( ') um die URL an.

Wenn das immer noch nicht funktioniert, versuchen Sie die paren Zeichen ( und ) mit einem Backslash: \( und \)

Welche Shell verwenden Sie? Bash? zsh?

Andere Tipps

Sie nicht (ab) die Shell verwenden.

Speichern Sie Ihre URLs bis zu einem gewissen Datei (sagen wir mal my_urls.lst) und zu tun:

wget -i my_urls.lst

Wget wird handhaben usw. zitiert auf seiner eigenen

Dies gilt nicht genau beantworten Ihre Frage, aber:

Die beiden folgenden Befehle arbeiten direkt in einer Bash-Shell:

wget "http://www.cepa.org.gh/archives/research-working-papers/WTO4%20(1)-charles.doc"

und

wget 'http://www.cepa.org.gh/archives/research-working-papers/WTO4%20(1)-charles.doc'

Können Sie überprüfen, ob eine dieser Arbeit für Sie sehen?

Was passiert zu sein scheint, ist, dass die Shell etwas mit dem (Zeichen tut. Ich versuche, "mit würde doppelte Anführungszeichen" statt einfache Anführungszeichen um Ihre URL.

Wenn Sie möchten, um Fehler zu unterdrücken Sie können verwenden> / dev / null unter Unix-Standardausgabe zu umleiten oder 2> / dev / null Standardfehler zu umleiten. Unter anderen Betriebssystemen kann es etwas anderes sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top