linux – 排序不按预期进行排序(空格和区域设置)

我想通过 linux排序排序一个文本文件,看起来像这样
v 1006
v10 1
v 1011

我会期望这样的结果:

v 1006
v 1011
v10 1

然而,使用排序,即使有各种选项,v10 1行仍然在中间.为什么?我会明白v10 1是在底部的顶部(取决于空格是否小于或等于1),但是为什么它保留在中间?

解决方法

它使用系统区域设置来确定字母的排序顺序.我的猜测是,随着你的地区,它忽略了空白.
$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

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...