Problème
J'ai besoin de filtrer les fichiers de la sortie par les 12 premiers caractères, puis de les envoyer en tant que sortie de la ffmpeg
commande, puis de le refaire pour le cycle suivant.
Fichier d'entrée.
VID_20190920_195919.mp4
VID_20190920_200821.mp4
VID_20190920_221640.mp4
VID_20190921_141929.mp4
VID_20190921_142236.mp4
Sortie filtrée au 1er cycle (par 12 premiers caractères, donc par VID_20190920
).
VID_20190920_195919.mp4
VID_20190920_200821.mp4
VID_20190920_221640.mp4
Sortie filtrée au 2e cycle (par les 12 premiers caractères, donc par VID_20190921
).
VID_20190921_141929.mp4
VID_20190921_142236.mp4
etc.
Chaque cycle (liste de fichiers filtrés) doit être exporté cycle.txt
, puis le fichier doit être traité par cette commande.
ffmpeg -f concat -i cycle.txt -c copy VID_YYYYMMRR.mp4
Ensuite , nettoyez cycle.txt
par > cycle.txt
et le faire à nouveau pour le prochain cycle.
Ou est la meilleure façon de faire cela?
Merci.
Système
Linux local 5.0.0-29-lowlatency #31-Ubuntu SMP PREEMPT Thu Sep 12 14:13:01 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
VID_20190820*
, VID_20190825*
etc. J'ai donc besoin de grep
tous les fichiers avec ce caractère sur begin et je l'écris dans file. J'ai essayé cut -c 1-12
, mais il n'y a aucun moyen d'afficher le nom complet du fichier dans ce cas. Ou peut-être que je peux utiliser cut -c 1-12 | sort -n | uniq
sur cette sortie et ensuite utiliser for
pour cette sortie. Mais y a-t-il une meilleure façon de le faire?