Question

J'ai un énorme fichier avec beaucoup de liens vers des fichiers de différents types à télécharger. Chaque ligne est une commande de téléchargement comme:

wget 'URL1'

wget 'URL2'

...

et il y a des milliers de personnes.

Malheureusement, certaines URL semblent vraiment moche, comme par exemple: http: //www.cepa .org.gh / archives / recherche-travail-papiers / OMC4% 20 (1) -charles.doc Il ouvre sur OK dans un navigateur, mais embrouille wget.

Je reçois une erreur:

./ tasks001.sh: Ligne 35: erreur de syntaxe près inattendue jeton `1'

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

Je l'ai essayé à la fois URL et les moyens « URL » de spécifier les éléments à télécharger.

Y at-il un moyen de faire un script comme ça sans surveillance en cours d'exécution? Je suis OK si ça va sauter le fichier juste qu'il ne pouvait pas télécharger.

Était-ce utile?

La solution

Je pense que vous devez utiliser des guillemets doubles ( ") et non des guillemets simples ( ') autour de l'URL.

Si cela ne fonctionne toujours pas, essayez d'échapper à la personnages paren ( et ) avec une barre oblique inverse: \( et \)

Quel shell utilisez-vous? Frapper? zsh?

Autres conseils

Ne pas (ab) utilisez le shell.

Enregistrer vos URL à certains fichiers (disons my_urls.lst) et faites:

wget -i my_urls.lst

Wget traitera en citant etc sur son propre

Cela ne répond pas exactement à votre question, mais:

Les deux commandes suivantes travailler directement dans un shell bash:

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

et

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

Pouvez-vous vérifier si l'un de ceux qui travaillent pour vous?

Ce qui semble se produire est que votre coquille est en train de faire quelque chose avec les (personnages. Je voudrais essayer d'utiliser des guillemets "au lieu de guillemets simples 'autour de votre URL.

Si vous souhaitez supprimer les erreurs que vous pouvez utiliser un> / dev / null sous unix pour rediriger la sortie standard ou 2> / dev / null pour rediriger l'erreur standard. Sous d'autres systèmes d'exploitation, il peut être autre chose.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top