我有許多相關的文件,如:`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
中做到這一點?
我有許多相關的文件,如:`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
中做到這一點?
對於這個特定的例子中,你也可以這樣做:
$> ls . | sort -k3 -ta -n
data0.csv
data1.csv
data2.csv
data11.csv
data21.csv
數值排序(-n
)上使用第三字段(-k3
) 'A' 作爲字段分隔符(-ta
)。
好吧,這是這個特定的一個技巧。 – Alcott 2012-04-15 09:30:49
這可能會爲你工作:
ls -v *.csv
你在找什麼是「自然排序」。谷歌會告訴你一切。 :) – 2012-04-15 09:29:06