我有以下 bash 脚本,使用 youtube-dl 将 youtube 视频下载为 mp3 文件:
#!/bin/bash
read -p 'URL: ' url
youtube-dl -f 'bestaudio' --extract-audio --audio-format mp3 --audio-quality 0 -o "Z:/youtube-dl/%(title)s.%(ext)s" $url
read -p "Press [Enter] to exit..."
我想做的是让其将 mp3 文件保存到多个路径,而不是仅保存到我的 Z: 驱动器上的路径。我该怎么做?
添加多个 -o 选项不起作用,因为最后一个选项会覆盖所有前面的选项。
谢谢你!
答案1
您可以使用该--get-filename
选项来检索文件名的视频数据,然后使用它并将文件复制到其他位置:
#!/bin/bash
read -p 'URL: ' url
filename="$(youtube-dl --get-filename -o "%(title)s" "$url").mp3"
youtube-dl -o "Z:/youtube-dl/$filename" -f 'bestaudio' --extract-audio --audio-format mp3 --audio-quality 0 $url
echo /second/path /third/path | xargs -n 1 cp "Z:/youtube-dl/$filename"
read -p "Press [Enter] to exit..."
/tmp
如果您想避免从 Z 读取:只需使用与第一个不同的或临时的路径。