排序未按预期排序(空间和区域设置)

Kar*_*lek 12 linux sorting

我想通过linux对文本文件进行排序sort,看起来像这样

v 1006
v10 1
v 1011
Run Code Online (Sandbox Code Playgroud)

我希望结果如下:

v 1006
v 1011
v10 1
Run Code Online (Sandbox Code Playgroud)

然而,使用sort,即使有各种选项,v10 1线仍然在中间.为什么?我会理解v10 1要么在底部的顶部(取决于空间字符是否小于或大于1),但是由于什么原因它保持在中间?

Tat*_*ela 16

它使用系统区域设置来确定字母的排序顺序.我的猜测是,使用您的语言环境,它会忽略空格.

$ cat foo.txt 
v 1006
v10 1
v 1011
$ LC_ALL=C sort foo.txt
v 1006
v 1011
v10 1
$ LC_ALL=en_US.utf8 sort foo.txt
v 1006
v10 1
v 1011
Run Code Online (Sandbox Code Playgroud)