排序命令在数字上无法按预期工作

Min*_*t.K 4 command-line sort

这是我的 list.txt:

a    100
b    300
A    50
e    75
1    10
Run Code Online (Sandbox Code Playgroud)

我运行了以下命令:

sort -k2,2 list.txt
Run Code Online (Sandbox Code Playgroud)

这是我得到的:

1    10
a    100
b    300
A    50
e    75
Run Code Online (Sandbox Code Playgroud)

我试图只对第二列进行排序。根据维基百科,我上面的命令应该给我下面的结果。

a 10
b 50
A 75
e 100
1 300
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

https://en.wikipedia.org/wiki/Sort_(Unix)

ste*_*ver 16

默认情况下,根据当前语言环境的整理顺序sort字典顺序对字符进行排序。所以在你的例子中100排序之后10但之前50因为1总是排序之前5

要按数字顺序排序,您需要添加说明n

   -n, --numeric-sort
          compare according to string numerical value
Run Code Online (Sandbox Code Playgroud)

例如

$ sort -k2,2n list.txt
1   10
A   50
e   75  
a   100 
b   300
Run Code Online (Sandbox Code Playgroud)