我有一台从 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)