Unix ls命令文件名排序(与默认值不同)

时间:2011-09-21 15:54:32

标签: bash sorting ls

Chris-Muenchs-Mac-Book-Pro:database cmuench$ ls -1
database.sql
database_10.0-10.1.sql
database_10.1-10.2.sql
database_10.3-10.4.sql
database_10.4-10.5.sql
database_10.5-10.6.sql
database_10.9-11.0.sql
database_11.0-11.1.sql
database_11.1-11.2.sql
database_11.2-11.3.sql
database_11.6-12.0.sql
database_12.1-12.2.sql
database_12.11-12.12.sql
database_12.12-12.13.sql
database_12.13-12.14.sql
database_12.3-12.4.sql
database_12.4-12.5.sql
database_12.5-12.6.sql
database_12.9-12.10.sql

有没有办法像这样排序?

database.sql
database_10.0-10.1.sql
database_10.1-10.2.sql
database_10.3-10.4.sql
database_10.4-10.5.sql
database_10.5-10.6.sql
database_10.9-11.0.sql
database_11.0-11.1.sql
database_11.1-11.2.sql
database_11.2-11.3.sql
database_11.6-12.0.sql
database_12.1-12.2.sql
database_12.3-12.4.sql
database_12.4-12.5.sql
database_12.5-12.6.sql
database_12.9-12.10.sql
database_12.11-12.12.sql
database_12.12-12.13.sql
database_12.13-12.14.sql

我在Mac OS X上,没有排序-V选项

3 个答案:

答案 0 :(得分:1)

您可以使用ls -lrt或类似

之类的组合按时间排序

r反向, t时间

答案 1 :(得分:1)

尝试使用sort utility

ls | sort -n 

答案 2 :(得分:0)

不确定Mac OS,但试一试:

 LC_COLLATE=C ls -1