Bash youtube dl问题(脚本)

Bash youtube dl问题(脚本),bash,sed,youtube,youtube-dl,Bash,Sed,Youtube,Youtube Dl,好的,我在写bash脚本时遇到了一个小问题 此脚本应按如下方式运行: bash script.sh https://www.youtube.com/user/<channel name> 我最终解决了这个问题: uploader="$(youtube-dl -i -J $URL --playlist-items 1 | grep -Po '(?<="uploader": ")[^"]*')" uploader_id="$(youtube-dl -i -J $URL --pla

好的,我在写bash脚本时遇到了一个小问题

此脚本应按如下方式运行:

bash script.sh https://www.youtube.com/user/<channel name>

我最终解决了这个问题:

uploader="$(youtube-dl -i -J $URL --playlist-items 1 | grep -Po '(?<="uploader": ")[^"]*')"
uploader_id="$(youtube-dl -i -J $URL --playlist-items 1 | grep -Po '(?<="uploader_id": ")[^"]*')"
uploaderandid="$uploader{$uploader_id}"
echo "Uploader: $uploader"
echo "Uploader ID: $uploader_id"
echo "Folder Name: $uploaderandid"
echo "Now downloading all videos from URL "$URL" to the folder "$DIR/$uploaderandid""

uploader=“$(youtube dl-i-J$URL——播放列表项目1 | grep-Po'(?您告诉它以
archive.txt
的形式创建存档,以便在当前目录中发生这种情况。除非
youtube dl
支持
%(uploader)s
,等等。在该参数中,仅使用一个命令(或任何一组命令,除非您以其他方式获取上传程序名称和id),您在执行所需操作时也会遇到问题。@EtanReisner,是的,%(上传程序)s、 &tc是youtube dl使用的一个变量。如果youtube dl只是将其导出为bash变量,那么这将非常容易,那么我可以只制作一个简单的“cd”,但它无法做到。这是不可能的。它可以支持
--download archive
参数中的格式。除此之外,您需要“解析”"下载后手动将输出和文件移动到正确的目录中。这可能是值得向youtube dl提交的文件。@EtanReisner。但是,如果他们拒绝这样做,您知道我将如何解析输出吗?我尝试过使用grep,但还没有走得很远。您可能不想复制它你可能还想链接到这个问题并解释为什么它会对你有帮助(让你把存档文件放在频道内容所在的目录中,等等)
<uploader>{<uploader_id>}/
#!/bin/bash
pwd
sleep 1
echo "You entered: $1 for the URL"
sleep 1
echo "Now downloading all videos from URL "$1""
youtube-dl -iw \
--no-continue $1 \
-f bestvideo+bestaudio --merge-output-format mkv \
-o "%(uploader)s{%(uploader_id)s}/[%(upload_date)s] %(title)s" \
--add-metadata --download-archive archive.txt
exit 0
uploader="$(youtube-dl -i -J $URL --playlist-items 1 | grep -Po '(?<="uploader": ")[^"]*')"
uploader_id="$(youtube-dl -i -J $URL --playlist-items 1 | grep -Po '(?<="uploader_id": ")[^"]*')"
uploaderandid="$uploader{$uploader_id}"
echo "Uploader: $uploader"
echo "Uploader ID: $uploader_id"
echo "Folder Name: $uploaderandid"
echo "Now downloading all videos from URL "$URL" to the folder "$DIR/$uploaderandid""