gpt4 book ai didi

bash - 从 URL 列表下载并输出到相关目录

转载 作者:行者123 更新时间:2023-12-04 16:30:54 26 4
gpt4 key购买 nike

我有一个文本文件中的 URL 列表:

http://host/index.html
http://host/js/test.js
http://host/js/sub/test_sub.js
http://host/css/test.css

我想通过在我的文件系统上复制同一棵树来下载这些文件。例如,我想在完成后以以下树结束:

wd/
|_index.html
|_js/
| |_test.js
| |_sub/
| |_test_sub.js/
|_css/
|_test.css

这是我尝试过的:

添加目标文件作为列表中的第二个参数:

http://host/index.html 
http://host/js/test.js js/test.js
http://host/js/sub/test_sub.js js/sub/test_sub.js
http://host/css/test.css css/test.css

使用 while 循环告诉 wget 将这些保存在哪里:

 while read url target; do
wget "$url" -P "$target";
done < site_media_list.txt

这不起作用,最终结果是同一目录中的所有文件,没有新目录。

最佳答案

制作一个仅包含链接列表(无路径)的文件,每行一个,然后 wget -nH -x -i links_list.txt 将文件下载到工作目录,保持目录结构不变。下面给出了相同命令的更易读版本。

wget --no-host-directories --force-directories --input-file=links_list.txt

Wget 有许多灵活的目录选项。查找 man wget directory options了解更多。

关于bash - 从 URL 列表下载并输出到相关目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42207185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com