gpt4 book ai didi

linux - 生成文件名以在 shell globing 下进行正确的顺序排序

转载 作者:太空宇宙 更新时间:2023-11-04 10:38:30 24 4
gpt4 key购买 nike

我在我的程序中生成了一系列 png 图像,我计划获取的文件通过一些工具传递,将它们转换为视频文件。我正在按照我想要的正确顺序一个一个地生成文件。我想以这样的方式命名它们,以便后续的视频转换工具将在 shell 使用的文件名通配下按正确的顺序获取它们(我在 Linux 中使用 bash。)。我尝试添加一个数字序列,如 'scene1.png、scene10.png、scene12.png,但 shell 不会按数字对 glob 进行排序。我可以像这样传递一个排序列表:

convert -antialias -delay 1x10 $(ls povs/*.png | sort -V) mymovie.mp4

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

最佳答案

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

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

$ 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

关于linux - 生成文件名以在 shell globing 下进行正确的顺序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36246151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com