
私は最近尋ねましたyoutube-dlのgpaste get
出力の使用に関する質問STDIN
その質問はその後答えられましたが、マルチコマンドタスクの自動化の次のステップに進みたいと思います。
Firefox コマンドの URL バーからコピーした URL を使用して、現在のフォルダー内のビデオのダウンロードを開始します。
youtube-dl $(gpaste get [video url])
mkv または mp4 または m4a ファイルを .wav
コマンドに変換します。ffmpeg -i [filename of video from step one].<filetype of video from step one> [filename of video from step one].wav
[...プロセスは継続します...]
私の質問は、私はまだ正規表現の初心者です。コマンドによって作成されたファイルからファイル名を取得し、それを次のコマンドyoutube-dl
の入力として使用できる正規表現シーケンスはありますか?ffmpeg
次に例を示します。
gpaste get 0
戻り値https://somevideo.com/video
youtube-dl $(gpaste get 0)
Y
ファイル名 &&で現在のフォルダにファイルをダウンロードします
ffmpeg -i <filename Y>
元のファイルの複製を次の.wav
形式で返します。
ファイル名 Y が存在する前にそれを bash に取得させて、すべてをスクリプトに組み込むにはどうすればよいですか?
ファイルタイプの範囲(すべてのビデオタイプ)に応じてフィルタリングする必要もあるのでしょうか、それとも現在のフォルダー内の最新のファイル、あるいはその両方の組み合わせでフィルタリングする必要があるのでしょうか?
答え1
youtube-dl のドキュメントを確認したところ、次のパラメータが受け入れられます:
--get-filename Simulate, quiet but print output filename
そこで、次のようなことを試してみるといいかもしれません:
videourl=$(gpaste get [video url])
videofilename=$(youtube-dl --get-filename $videourl)
youtube-dl $videourl
#further processing.