小编tre*_*mby的帖子

为什么 Gnu 在我的 OSX 机器和 Linux 机器上的排序方式不同?

我有一台从 coreutils 8.26sort运行 GNU sort(从 Homebrew 安装)的 OSX 机器,以及一台从 coreutils 8.25sort运行 GNU的 Linux 机器sort

在 Mac 上:

mac$ echo -e "{1\n2" | sort
2
{1
Run Code Online (Sandbox Code Playgroud)

在 Linux 上:

linux$ echo -e "{1\n2" | sort
{1
2
Run Code Online (Sandbox Code Playgroud)

我知道这sort取决于语言环境。我locale在 Linux 机器上运行,在每行输出前加上export并在 OSX 机器上运行结果行,然后再次运行(在同一终端中)sort 命令,它给出了与以前相同的输出。

但是,我注意到,locale在 Mac 上运行并没有显示出现在 Linux 上的所有行,我不确定这是否相关。

Linux 上的语言环境:

linux$ locale
LANG=en_CA.UTF-8
LANGUAGE=en_CA:en
LC_CTYPE="en_CA.UTF-8"
LC_NUMERIC="en_CA.UTF-8"
LC_TIME="en_CA.UTF-8"
LC_COLLATE="en_CA.UTF-8"
LC_MONETARY="en_CA.UTF-8"
LC_MESSAGES="en_CA.UTF-8"
LC_PAPER="en_CA.UTF-8"
LC_NAME="en_CA.UTF-8"
LC_ADDRESS="en_CA.UTF-8"
LC_TELEPHONE="en_CA.UTF-8"
LC_MEASUREMENT="en_CA.UTF-8"
LC_IDENTIFICATION="en_CA.UTF-8" …
Run Code Online (Sandbox Code Playgroud)

linux osx gnu sort locale

8
推荐指数
1
解决办法
2077
查看次数

标签 统计

gnu ×1

linux ×1

locale ×1

osx ×1

sort ×1