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>
それは
<uploader>{<uploader_id>}/
あるいは、少なくとも、という名前のフォルダに全体のYouTubeチャンネルをダウンロードそれはすべきです...
私が得ている問題は、youtube-dlが作成するarchive.txtファイルがビデオと同じディレクトリに作成されないということです。スクリプトが実行されるディレクトリに作成されます。
archive.txtファイルをビデオフォルダに取得するために使用できるgrepまたはsedコマンドはありますか?
FIRSTフォルダを作成してから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について。 –