You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用wget按源地址创建对应目录下载文件的方法

为每个源地址创建独立目录的Wget解决方案

要实现每个源地址对应独立目录存储下载文件,单条wget命令无法完成,需通过Shell脚本循环处理每个地址,具体步骤如下:

  1. 创建处理脚本
    新建名为download.sh的脚本,内容如下:

    #!/bin/bash
    
    # 逐行读取list.txt中的地址,过滤空行
    while read -r url; do
        if [ -z "$url" ]; then
            continue
        fi
        # 提取地址末尾的目录名(如从https://blogspot.com/test/001得到001)
        dir_name=$(basename "$url")
        # 创建目标目录(不存在则创建,存在不报错)
        mkdir -p "$dir_name"
        # 进入目录执行下载,失败则终止脚本
        cd "$dir_name" || { echo "无法进入目录 $dir_name"; exit 1; }
        # 执行wget下载,仅从当前源地址获取符合规则的PDF
        wget -r -l 1 -nd -H --accept-regex 'https://blogspot.com/s[0-9]{4}/[0-9]{3}.pdf' --no-parent "$url"
        # 返回上级目录
        cd ..
    done < list.txt
    
  2. 赋予脚本执行权限
    在终端运行:

    chmod +x download.sh
    
  3. 执行脚本开始下载
    直接运行脚本即可:

    ./download.sh
    

关键逻辑说明

  • basename "$url":自动提取地址的最后路径段作为目录名,适配带/或不带/的地址格式。
  • mkdir -p:确保目录层级存在,避免因目录不存在导致下载失败。
  • --no-parent:防止wget爬取当前源地址的上级页面,严格限制下载范围。
  • 保留原命令的-r -l 1:递归下载当前页面的所有链接(仅一层),配合--accept-regex精准过滤目标PDF。

内容的提问来源于stack exchange,提问作者Mauro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 10:54:53