Uso de expresiones regulares en el script BASH para capturar el nombre/tipo de archivo creado recientemente como salida mediante un comando anterior en la secuencia

Uso de expresiones regulares en el script BASH para capturar el nombre/tipo de archivo creado recientemente como salida mediante un comando anterior en la secuencia

recientemente preguntéEsta pregunta sobre el uso de gpaste getla salida en cuanto STDINa youtube-dl. Desde entonces, esa pregunta ha sido respondida, pero me gustaría pasar al siguiente paso de la automatización, una tarea de múltiples comandos:

  1. Inicie una descarga de video en la carpeta actual usando la URL copiada de la barra de URL en el comando de Firefox:youtube-dl $(gpaste get [video url])

  2. convierta el archivo mkv, mp4 o m4a a un
    comando .wav:ffmpeg -i [filename of video from step one].<filetype of video from step one> [filename of video from step one].wav

  3. [...el proceso continúa...]

Mi pregunta es: todavía soy nuevo en expresiones regulares. ¿Existe una secuencia de expresiones regulares que pueda emplear para tomar el nombre del archivo creado por el youtube-dlcomando y usarlo como entrada para el siguiente ffmpegcomando?

He aquí un ejemplo:

gpaste get 0

devolucioneshttps://somevideo.com/video

youtube-dl $(gpaste get 0)

Descarga el archivo a la carpeta actual con Yel nombre de archivo &&

ffmpeg -i <filename Y>

Devolverá un duplicado del archivo inicial, ahora en .wavformato

¿Cómo puedo decirle a bash que obtenga ese nombre de archivo Y antes de que exista, para poder poner todo esto en un script?

¿También necesitaría filtrar según una variedad de tipos de archivos (todos los tipos de video) o filtraría por el archivo más reciente en la carpeta actual o una combinación de ambos?

Respuesta1

Recién revisé la documentación de youtube-dl, acepta este parámetro:

--get-filename                   Simulate, quiet but print output filename

Entonces, tal vez puedas probar algo como esto:

videourl=$(gpaste get [video url])
videofilename=$(youtube-dl --get-filename $videourl)
youtube-dl $videourl
#further processing. 

información relacionada