ls 有没有这样的用法呢

2016-02-04 19:53:42 +08:00
 merrillyeung

linux 下的 ls 命令能不能实现如下的效果

我在某一个文件夹下有 50 个这样的文件
T_lev1.dat
T_lev2.dat
T_lev3.dat
...
...
T_lev48.dat
T_lev49.dat
T_lev50.dat

如果我用 ls 命令 会得到的如下
T_lev10.dat
T_lev11.dat
T_lev12.dat
...
...
T_lev19.dat
T_lev1.dat
T_lev20.dat
T_lev21.dat
...

可这并不是我想要的按顺序排列

请问 ls 命令有没有什么参数可以使顺序变成我想要的按顺序排列?

我知道把文件的个位数序号改成 01 02 03 这样的形式用 ls 就正常,但是现在我有很多其他的变量,一个个改过去不太现实

3658 次点击
所在节点    Linux
4 条回复
steley
2016-02-04 19:57:54 +08:00
ls | sort -n
merrillyeung
2016-02-04 20:03:07 +08:00
@steley 请问这样吗 ls -l T_*.nc | sort -n 为什么顺序还是不对。。。
steley
2016-02-04 20:07:49 +08:00
@merrillyeung 把 “-l ” 之类的去掉
newkedison
2016-02-05 09:44:53 +08:00
ls -lv T_*.nc

-v natural sort of (version) numbers within text

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/255428

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX