1 votos

Cómo encontrar archivos .mp4 en un directorio específico y crear un archivo txt con texto adicional alrededor de los nombres de los archivos

Soy nuevo en el Terminal de Mac. Estoy tratando de proporcionar ffmpeg un archivo .txt que contiene una lista de archivos .mp4 de un directorio para concatenar en un nuevo archivo. Para este post, sólo quiero centrarme en la creación de la lista de la forma que requiere ffmpeg.

Mi directorio tiene cuatro archivos:
archivo1.mp4
archivo2.mp4
archivo3.mp4
otherclip.mov

Necesito que la línea de comandos mire este directorio, ignore el archivo .mov y cree un archivo txt de la siguiente manera.

archivo 'archivo1.mp4'
archivo 'archivo2.mp4'
archivo 'archivo3.mp4'

Suponiendo que ya estoy en el directorio correcto, ¿cómo puedo recorrer los archivos y colocar los archivos .mp4 en un archivo txt con el texto archivo "nombre-de-archivo.mp4 ¿envuelto alrededor de él?

Vi a alguien en Windows hacer esto con éxito mediante la ejecución de for /f "tokens=*" %i in ('dir *.mp4 /b') do echo file '%~ni%~xi' >> list.txt
No estoy seguro de cuál sería el equivalente en bash pero cuando lo ejecuté en mi terminal me devolvió -bash: syntax error near unexpected token `"tokens=*"'

2voto

Michael Zhou Puntos 167

Asumiendo que estás en el directorio en el que existen estos archivos-

archivo1.mp4 archivo2.mp4 archivo3.mp4 otroclip.mov

y la salida que quieres en un archivo de texto se llama list.txt, podrías redirigir la salida de lo siguiente en el archivo nombrado-

printf "file '%s'\n" *.mp4 > list.txt

1voto

Algo así como

cd directory/with/videofiles
for f in *.mp4; do
    echo "file '$f'" >> ./file-for-ffmpeg
done

debe hacer.

O

cd directory/with/videofiles
ls *.mp4 | sed -E "s|(.*)|file '\1'|" > ./file-for-ffmeg

si buscas una simple frase.

-1voto

Ben Brodbeck Puntos 1

Lo siguiente me ha funcionado: for f in *.MP4; do echo "file '$f'" >> list.txt; done

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X