我正在使用以下命令制作动画GIF文件:
convert -delay 10 -loop 0 *.png animated.gif
但是,问题按* .png。
的顺序发生我的PNG文件类似于1.png,2.png,... 100.png。
在生成的动画GIF中,帧的顺序如下:1.png,10。png,100.png,2.png ...
我想在结果GIF中快照的顺序如1,2,3 ... 100。
答案 0 :(得分:5)
请尝试sort
:
$ ls | sort -V
1.png
2.png
10.png
100.png
最终:
convert -delay 10 -loop 0 $(ls *.png | sort -V) animated.gif
答案 1 :(得分:1)
这个小脚本将使用前导零为您重命名文件 - 首先在文件的COPY上尝试:
#!/bin/bash
for i in {1..1000}; do
[ -f "$i.jpg" ] && echo mv "$i.jpg" $(printf "%04d.jpg" $i)
done
它查找从1.jpg到1000.jpg的JPEG文件,如果有的话,它会用最多3个前导零重命名,直到数字部分为4位数。
如果将其保存为renamer
,则会运行
chmod +x renamer # just do this once to make it executable
./renamer # do this any time you want the whole directory of JPEGs renamed
如果您看到并喜欢它将要执行的操作,请删除单词echo
,然后再次运行。
示例输出
mv 1.jpg 0001.jpg
mv 99.jpg 0099.jpg
mv 102.jpg 0102.jpg
答案 2 :(得分:0)
使用前导零重命名,例如:
001.png, 002.png, 003.png,......099.png,100.png.
它会对你有用
答案 3 :(得分:0)
glob运算符(*)通过比较文本对结果列表进行排序。因此,将文件1.png,2.png ...重命名为001.png,002.png应该可以正常工作。