Я недавно задал этот вопрос об использовании gpaste get
output в качестве STDIN
для youtube-dl. С тех пор на этот вопрос был дан ответ, но я хотел бы перейти к следующему этапу автоматизации, состоящему из нескольких команд:
начать загрузку видео в текущей папке, используя URL, скопированный с панели URL в команде firefox:
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
Как я могу заставить bash получить это имя Y до того, как оно существует, чтобы я мог поместить все это в скрипт?
Должен ли я также фильтровать по диапазону типов файлов (все типы видео) или мне нужно будет фильтровать самый последний файл в текущей папке или их комбинацию?