2012-04-15 40 views
1

我有許多相關的文件,如:`sort`文件名

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中做到這一點?

+0

你在找什麼是「自然排序」。谷歌會告訴你一切。 :) – 2012-04-15 09:29:06

回答

2

對於這個特定的例子中,你也可以這樣做:

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

數值排序(-n)上使用第三字段(-k3) 'A' 作爲字段分隔符(-ta)。

+0

好吧,這是這個特定的一個技巧。 – Alcott 2012-04-15 09:30:49

3

這可能會爲你工作:

ls -v *.csv