首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成文件名,以便在shell全局化下进行正确的顺序排序。

生成文件名,以便在shell全局化下进行正确的顺序排序。
EN

Stack Overflow用户
提问于 2016-03-27 10:08:14
回答 1查看 109关注 0票数 0

我在我的程序中生成了一系列的png图像,我计划得到的文件是通过某个工具传递的,该工具将它们转换成一个视频文件。我一个接一个地生成文件,按照我想要的顺序。我希望将它们命名为这样一种方式,即随后的视频转换工具将在shell使用的文件名globbing (我在Linux中使用bash )下对它们进行适当的排序。我尝试添加一个数字序列,如'scene1.png,scene10.png,scene12.png,但是shell不对全局进行数字排序。我可以传递一个排序列表,如下所示:

代码语言:javascript
复制
convert -antialias -delay 1x10 $(ls povs/*.png | sort -V) mymovie.mp4

但是,有些程序会进行自己的全球化,而不使用shell全球化(如FFmpeg),因此这种方法并不总是有效的。因此,我正在寻找一种命名方案的文件是保证按顺序按照shell全球化规则。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-27 10:32:33

您可以在文件的前缀加上零填充整数。

此脚本模拟重命名后ls *应该输出的内容:

代码语言:javascript
复制
$ for i in {1..12};do
$   printf '%05d_%s\n' ${i} file${i}
$ done;

00000_file0
00001_file1
00002_file2
00003_file3
00004_file4
00005_file5
00006_file6
00007_file7
00008_file8
00009_file9
00010_file10
00011_file11
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36246151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档