Изначально я просмотрел документы ffmpeg
, чтобы увидеть, можно ли указывать имена входных файлов в собственном файле, где вы можете отсортировать их по своему усмотрению. Но документация явно не имела такой возможности. Я могу ошибаться, и это будет моя рекомендация, если вы заметите такую возможность.
Поэтому вместо этого вы должны переименовать ваши файлы для ввода в нужном вам порядке. Я предполагаю, что вы используете оболочку bash, файлы находятся в одном каталоге с именами от file1.png
до file10000.png
и вы предпочли бы, чтобы они назывались file00001.png
и file10000.png
.
#!/bin/bash
for f in file*.png
do
printf -v n "file%05d.png" "${f:4:-4}"
mv "$f" "$n"
done
На одной строке как:
for f in file*.png; do printf -v n "file%05d.png" "${f:4:-4}"; mv "$f" "$n"; done
или, может быть, просто:
#!/bin/bash
for (( i=0; i<10000; i++ ))
do
printf -v n "%05d" $i
mv "file$i.png" "file$n.png"
done
На одной строке как:
for (( i=0; i<10000; i++ )); do printf -v n "%05d" $i; mv "file$i.png" "file$n.png"; done;
Я не уверен, что быстрее, но я подозреваю, что второй будет.