Как сделать команду wget для чтения http ссылки с пробелами из файла?

Следующее изображение ссылки имеет пробел:

http://descripciones.intcomex.cl/userfiles/image/210-1140LA XA509LA_190x170.jpg

Я могу получить изображение с помощью:

wget "http://descripciones.intcomex.cl/userfiles/image/210-1140LA XA509LA_190x170.jpg"

Однако, поскольку у меня есть несколько ссылок, я делаю это с помощью файла, например так:

wget -i image_links.txt

Команда "wget" не будет читать ссылки с пробелами из файла. Я попытался использовать следующие ссылки внутри файла (двойная запятая, обратный слеш перед пробелом):

"http://descripciones.intcomex.cl/userfiles/image/210-1140LA XA509LA_190x170.jpg"
"http://descripciones.intcomex.cl/userfiles/image/210-1140LA\ XA509LA_190x170.jpg"

Но никто из них не работает. Кто-нибудь знает, как я могу заставить его работать?

2 ответа

Если вы разместите каждый HTTP-URL в отдельной строке, он должен работать:

http://server.com/file with space1
http://server.com/file with space2

Это работает для меня (GNU wget 1.11.4).

Кроме того, вы можете URL-экранировать пробелы, заменив их %20, как в

http://server.com/file%20with%20space1

Поместите каждый URL в одну строку и убедитесь, что для файла.txt используется конец строки UNIX.

Я использовал следующий скрипт, предоставленный Python, для этого в Windows:

python C:\Python27\Tools\scripts\crlf.py textfile.txt
Другие вопросы по тегам