我有一个 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