首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >对不带前导零的文件名进行排序

对不带前导零的文件名进行排序
EN

Stack Overflow用户
提问于 2013-09-11 22:44:40
回答 2查看 5.3K关注 0票数 16

我想用下面的模式对立体图像文件进行排序

img_i_j.ppm,

其中i是图像计数器,j是摄像机0,1的id。目前,如果我使用

ls -1 *.ppm | sort -n

结果看起来像这样:

img_0_0.ppm
img_0_1.ppm
img_10_0.ppm
img_10_1.ppm
img_1_0.ppm  
img_11_0.ppm                        
img_11_1.ppm                        
img_1_1.ppm  
img_12_0.ppm

但是我需要这样的输出:

img_0_0.ppm
img_0_1.ppm
img_1_0.ppm
img_1_1.ppm
img_2_0.ppm  
img_2_1.ppm
...                        
img_10_0.ppm                        
img_10_1.ppm  
...    

这可以在不修改文件名的情况下实现吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-11 22:48:59

如注释所示,使用

sort -V

我最初将其作为注释发布,因为此参数并不总是在sort二进制文件中,因此您必须使用sort -k -n ... (例如,像here)。

票数 30
EN

Stack Overflow用户

发布于 2018-05-29 08:24:13

ls (现在?)具有-v选项,它可以执行您想要的操作。来自man ls

-v     natural sort of (version) numbers within text

这比通过管道连接到sort更简单,并且遵循not to parse ls的建议。

如果您真的打算解析输出,我想您可以在bash中使用LC_COLLATE。或者,在zsh中,您可以只使用glob *(n)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18744356

复制
相关文章

相似问题

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