Проблема с wget и пробелами

У меня есть скрипт bash, который очищает список URL-адресов для ссылок на различные виды документов. В конце сценарий использует wget для загрузки файлов. Однако у меня возникли проблемы с именами файлов, содержащими пробел в имени: wget заканчивает URL-адрес в пробеле. Есть ли способ использовать sed или что-то, чтобы изменить пробел на %20 здесь? Или какое-то другое решение? Это мой код:

 for url in $(cat download.md) do lynx --listonly --dump $url | \ awk '/\.(pdf|doc|docx|odt)$/{ sub("^[ ]*[0-9]+.[ ]*","",$0); print}' done > ~/links.txt for i in $( cat ~/links.txt ); do wget $i; done 

One Solution collect form web for “Проблема с wget и пробелами”

Вы потеряли полные имена файлов при замене команды $( ... ) . Просто попросите wget прочитать файл напрямую:

 wget -i ~/links.txt 
  • Получение md5 во время wget
  • wget не загружает файлы рекурсивно
  • Есть ли способ отключить wget от получения файлов из родительских каталогов до заданной глубины?
  • Почему wget --mirror не работает на этом сайте?
  • Возможно ли выполнить результат wget как команды?
  • Загрузите сразу несколько URL-адресов
  • SSL сертификат отсутствует
  • wget - считается, что загрузка выполняется через 1 секунду, хотя это не
  • Загрузите только недавно измененные файлы с помощью wget over FTP
  • Загрузите рекурсивно с помощью wget
  • Как получить все файлы определенного типа из виртуального веб-пути?
  • Linux и Unix - лучшая ОС в мире.