有没有办法强制Wget使用从文件名下载的url地址保存文件?
假设文件在这里找到:
fish.com/salmon/s1.jpg
fish.com/tuna/t1.jpg
我希望文件名(不是目录)为:
fish.com/salmon/s1.jpg, **not** s1.jpg
fish.com/tuna/t1.jpg, **not** t1.jpg
我知道如果只有一个下载,我可以使用-O强制使用特定的文件名,但假设我有10k个文件?我也知道wget不会覆盖文件。
如果由于' /'无法将文件保存为完整网址,我可以将它们保存为非常接近网址的内容,例如fish.com_salmon_s1.jpg?
答案 0 :(得分:0)
如果你使用wget -r http://fish.com/salmon/s1.jpg http://fish.com/tuna/t1.jpg,输出将放在fish.com/salmon/s1.jpg和fish.com/tuna/t1.jpg。
所以,使用-r或--recursive开关。
或者,如果你想在保留层次结构的同时修改名称,你最好使用这样的脚本:
cat filelist | while read f
do
fout=`echo $f | sed -e 's/\//_/g'`
wget "http://$f" -O $fout
done
这将用下划线(_)
替换所有斜杠(/)希望这会有所帮助...