`sort`文件名,包含字符和数字

时间:2012-04-15 09:17:41

标签: bash sorting

我有很多相关文件,例如:

  

data0.csv data1.csv data2.csv data11.csv data21.csv

当我ls .时,它们看起来像这样:

data0.csv
data1.csv
data11.csv
data2.csv
data21.csv

但是我希望它们按照这样的升序排列:

data0.csv
data1.csv
data2.csv
data11.csv
data21.csv

如何在bash中完成?

2 个答案:

答案 0 :(得分:3)

这可能对您有用:

ls -v *.csv

答案 1 :(得分:2)

对于这个特定的例子,你也可以这样做:

$> ls . | sort -k3 -ta -n
data0.csv
data1.csv
data2.csv
data11.csv
data21.csv

使用“a”作为字段分隔符(-n)在第三个字段(-k3)上以数字方式(-ta)进行排序。