wget 和空白的问题

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

答案1

您在$( ... )命令替换期间丢失了完整的文件名。只需要求wget直接读取文件即可:

wget -i ~/links.txt

相关内容