2
好吧,所以我用我寫的bash腳本有這個小問題。youtube-dl問題(腳本)
這個腳本應該是這樣運行的:
bash script.sh https://www.youtube.com/user/<channel name>
OR
bash script.sh https://www.youtube.com/user/<random characters that make up a youtube channel ID>
它下載一個完整的YouTube頻道,以一個名爲
<uploader>{<uploader_id>}/
文件夾或者,至少它應該...
我得到的問題是youtube-dl創建的archive.txt文件不是與視頻在同一個目錄中創建的。它在運行腳本的目錄中創建。
是否有grep或sed命令,我可以用它來獲取archive.txt文件到視頻文件夾?
或者可能創建文件夾第一,然後cd到它,並從那裏運行命令? 我不知道
這裏是我的腳本:
#!/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
您正在告訴它將存檔創建爲'archive.txt',以便在當前目錄中發生。除非'youtube-dl'在這個參數中支持'%(uploader)s'等等,否則你只會用一個命令(或者任何一組命令,除非你有其他方法以某種方式獲取上傳者姓名和ID)。 –
@EtanReisner,是的,%(上傳)s,&tc是youtube-dl使用的變量。如果youtube-dl只是將它作爲bash變量導出,那麼這會更容易,然後我可以做一個簡單的「cd」 – TheSqrtMinus1
它不能這樣做。這是不可能的。它*可以*支持'--download-archive'參數中的格式。除此之外,您需要「解析」輸出並在下載後手動將文件移動到正確的目錄。這可能是值得提交的東西,但與youtube-dl有關。 –