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

Cygwin下bash脚本调用yt-dlp下载DiscoveryPlus视频失败问题

修复Cygwin下yt-dlp批量下载脚本的两个错误

下面是修复后的完整脚本,同时拆解两个问题的修复逻辑:

#!/bin/bash

# 读取链接文件的每一行URL
while IFS= read -r url; do
    # 跳过空行
    [[ -z "$url" ]] && continue

    # 修复sed表达式:用#作为分隔符,避免URL中的/干扰匹配
    folder_name=$(echo "$url" | sed -E 's#.*/([^-]+)-.*#\1#')

    # 创建目标文件夹(不存在则自动创建)
    mkdir -p "$folder_name"

    # 修复yt-dlp参数:直接传单个URL,不用-a;指定下载路径到对应文件夹
    yt-dlp --cookies cookies.txt -o "$folder_name/%(title)s.%(ext)s" "$url"
done < links_da_scaricare.txt

具体修复点说明

  • sed表达式未终止问题修复:
    原脚本里的sed命令大概率用了/作为替换分隔符,但DiscoveryPlus的URL包含大量/,会让sed误把URL里的/当成表达式结束符,触发报错。现在替换成#作为分隔符,同时调整正则为[^-]+,精准提取citta-mortale这类-前的最后一段路径作为文件夹名。

  • yt-dlp批量参数误用修复:
    -a参数是用来指定批量URL文件的(比如yt-dlp -a links_da_scaricare.txt),但脚本是遍历单个URL,用-a "$url"会让yt-dlp把这个URL当成文件名去读取,自然报错“无法读取batch文件”。现在直接把URL作为参数传入,同时用-o指定下载目录到对应文件夹,实现分类下载。

执行前给脚本加执行权限:chmod +x script.sh,然后在Cygwin里运行bash script.sh即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 21:30:45