首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >按顺序筛选和排序文件

按顺序筛选和排序文件
EN

Stack Overflow用户
提问于 2009-11-17 14:53:42
回答 8查看 55.5K关注 0票数 38

使用前面的bash脚本,我创建了一个文件列表:

代码语言:javascript
复制
data_1_box
data_2_box
...
data_10_box
...
data_99_box

问题是,现在我需要将它们连接起来,所以我尝试

ls -l data_*

但我得到了

代码语言:javascript
复制
.....
data_89_box
data_8_box
data_90_box
...
data_99_box
data_9_box

但我需要做吸力1,2,3,4,..9,...,89,90,91,...,99

它能在bash中完成吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-11-17 15:06:26

代码语言:javascript
复制
ls data_* | sort -n -t _ -k 2

-n:按数字排序

-t:字段分隔符“_”

-k:对第二个字段进行排序,在本例中是第一个“_”之后的数字

票数 74
EN

Stack Overflow用户

发布于 2009-11-17 15:10:01

ls使用-v标志怎么样?该标志的目的是根据版本号对文件进行排序,但它在这里同样适用,并且不需要通过管道将结果发送到sort

代码语言:javascript
复制
ls -lv data_*
票数 24
EN

Stack Overflow用户

发布于 2009-11-17 15:07:47

如果您的sort具有版本排序功能,请尝试:

代码语言:javascript
复制
ls -1 | sort -V

(这是一个大写的V)。

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

https://stackoverflow.com/questions/1747047

复制
相关文章

相似问题

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