排序说明

Ped*_*lez 5 osx terminal sort

给了很多文件,sort -n给了我这个结果:

f1.txt
f10.txt
f2.txt
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎不正确。解释是什么?

我可以默认得到这个吗:

f1.txt
f2.txt
f10.txt
Run Code Online (Sandbox Code Playgroud)

jim*_*mij 6

我建议使用

sort -V data.txt
Run Code Online (Sandbox Code Playgroud)

-V 代表“版本排序”,它基本上可以正确处理字母和数字字符,因此如果您有更多文件,请说:

f1.txt
f10.txt
f2.txt
a1.txt
a10.txt
a2.txt
Run Code Online (Sandbox Code Playgroud)

然后sort -V会给你

a1.txt
a2.txt
a10.txt
f1.txt
f2.txt
f10.txt
Run Code Online (Sandbox Code Playgroud)

sort -k 1.2nsort -n -k 1.2

a1.txt
f1.txt
a2.txt
f2.txt
a10.txt
f10.txt
Run Code Online (Sandbox Code Playgroud)


Hau*_*ing 1

> sort -n -t . -k 1.2 file
f1.txt
f2.txt
f10.txt
Run Code Online (Sandbox Code Playgroud)

即使没有-t ..