Concatenar files consecutivos

Tengo una list de videos en un directory que quiero concatenar.

Video1.mpg Video2.mpg . . . Video35.mpg 

Quiero concatenar esto en el order de su número sin tener que escribirlos todos manualmente en el command cat.

Con zsh y ffmpeg :

 files=(Video*.mpg(n)) ffmpeg -f concat -safe 0 -i <(printf 'file %s\n' ${(qq)files}) -c copy output.mpg 

(n) en zsh es un calificador glob para orderar numéricamente. (qq) es un indicador de expansión variable para citar con comillas simples. No garantizaré que comillas exactamente como fue esperado por ffmpeg si los nombres de los files contienen comillas simples o barras diagonales inversas o caracteres de nueva línea.

Por lo que yo entiendo, lo anterior supone que se usa el mismo códec en todos los files de mpg.

AFAICT, específicamente para los files mpeg , los files también se pueden concatenar en el nivel de files y todavía se pueden reproducir en la mayoría de los reproductores, por lo que también puede hacerlo (aún con zsh ):

 cat Video*.mpg(n) > output.mpg 

Mientras que zsh está instalado por defecto en macOS, no es el shell pnetworkingeterminado que obtienes en un terminal a less que hayas cambiado explícitamente tu shell de inicio de session del pnetworkingeterminado de bash . Por lo tanto, necesitaría iniciar zsh primero, ingresando zsh en el indicador del shell bash en el terminal o ejecutar:

 zsh -c 'cat Video*.mpg(n) > output.mpg' 

en lugar.

Usa la expansión Bash Brace.

 cat Video{{1..9},{10..35}}.mpg > outputfile 

En el futuro, use 0 relleno al nombrar los files originalmente, para que pueda hacer lo siguiente:

 cat Video{01..35}.mpg > outputfile 

Aquí hay una manera:

 cat $(ls Video*.mpg | sort -to -k2 -n )>outputfile 

ls Video*.mpg : enumera los files según el patrón
sort -to -k2 -n – ordera los files usando o como delimitador, 2da tecla y -n para numérico

* Tenga en count que el uso de ls en una list desconocida de files puede ser impnetworkingecible, pero esta es una list relativamente pequeña y conocida, basada en la pregunta.