如何更改bash列出文件的顺序
我有一些档案。当我列出它们时,我得到了顺序:如何更改bash列出文件的顺序,bash,filenames,Bash,Filenames,我有一些档案。当我列出它们时,我得到了顺序: frame0001i0002.png frame0001.png frame0002i0003.png frame0002.png frame0003i0004.png frame0003.png frame0004.png frame0005.png frame0006.png frame0001.png frame0001i0002.png frame0002.png frame0002i0003.png frame0003.png frame
frame0001i0002.png
frame0001.png
frame0002i0003.png
frame0002.png
frame0003i0004.png
frame0003.png
frame0004.png
frame0005.png
frame0006.png
frame0001.png
frame0001i0002.png
frame0002.png
frame0002i0003.png
frame0003.png
frame0003i0004.png
frame0004.png
frame0005.png
frame0006.png
我假设frame0001.png在frame0001i0002.png之前,因为我需要按以下顺序对它们进行操作:
frame0001i0002.png
frame0001.png
frame0002i0003.png
frame0002.png
frame0003i0004.png
frame0003.png
frame0004.png
frame0005.png
frame0006.png
frame0001.png
frame0001i0002.png
frame0002.png
frame0002i0003.png
frame0003.png
frame0003i0004.png
frame0004.png
frame0005.png
frame0006.png
我是否需要重命名它们以按我想要的顺序显示
最终,我想将他们的名字改为:
frame0001.png
frame0002.png
frame0003.png
frame0004.png
frame0005.png
frame0006.png
frame0007.png
frame0008.png
frame0009.png
按照上面单元格的顺序。您遇到这个问题,因为我在前面。按照默认的排序顺序 使用以下方法可以获得预期的订单:
sort -t'.' -k 1,1
这就定义了。是一个字段分隔符,我们应该只考虑第一个字段,即在排序之前扩展的部分。我们现在比较frame0001和frame0001i0002,最短的将首先打印。您遇到这个问题,因为我在前面。按照默认的排序顺序 使用以下方法可以获得预期的订单:
sort -t'.' -k 1,1
这就定义了。是一个字段分隔符,我们应该只考虑第一个字段,即在排序之前扩展的部分。我们现在比较frame0001和frame0001i0002,最短的将首先打印。ls也可以使用-v选项执行此操作
来自ls的帮助
ls也可以使用-v选项来实现这一点
来自ls的帮助
你用什么来列出它们?如果我cd到父目录并运行*.png中的文件;执行echo${file*/};按所需顺序列出它们。同样,使用和while循环创建数组。例如,文件=;而read-rd;do files+=${REPLY};完成<您使用什么来列出它们?如果我cd到父目录并运行*.png中的文件;执行echo${file*/};按所需顺序列出它们。同样,使用和while循环创建数组。例如,文件=;而read-rd;do files+=${REPLY};完成<