Ich habe ein kleines Skript in Bash und ich habe ein Problem mit Gleichgestellten. Ich habe 80 Dateien in .mp4 und möchte alle Filme mit 1 verknüpfen, also habe ich ein Skript geschrieben. Meine Dateinamen sind zum Beispiel 2.mp4 5.mp4 10.mp4 etc ... Sie sind nicht in Ordnung, und ich habe nicht 13,14,15.mp4, aber ich habe 12.mp4 und 16.mp4Iteration gleich Dateiname Bash
ich möchte gleich Iteration mit dem Dateinamen in meiner Loop-Funktion und ich weiß nicht, wie ...
for((i=1; i <= 200; i++))
{
if[ -f "$i.mp4" == WHAT HERE??? ] ; then
mkvmerge -o /home/ftpuser/movies/Main/out/$i.mp4 /home/ftpuser/movies/Movie/test.mp4 \+ /home/ftpuser/movies/addMovie/$i.mp4
else
echo -e "${RED}Null${NC}"
fi
}
Wenn Ihre Zahlen klein sind, können Sie ohne viel Aufwand über alle möglichen Werte iterieren, aber wenn Ihre Dateien '3459087.mp4',' 9387540.mp4' usw. heißen, dann ist es möglich, über alle * zu iterieren * Namen ist Unsinn. Wie wäre es, wenn man so iteriert: 'für f in * .mp4; machen ...; fertig. Das wäre viel prägnanter. – Alfe
Dies ist sehr ineffizient. Sie können die vollständige Liste der Dateien in einem einzigen Befehl an 'mkvmerge' übergeben und sie in einem einzigen Durchgang verketten. Es hat auch nichts mit "ffmpeg" zu tun. – aergistal