7
4

1 回答 1

1

尝试设置LC_COLLATE=C;那能解决吗?这对我有用:

$ export LANG=en_US.UTF-8
$ export LANGUAGE=en_US:en
$ export LC_CTYPE="en_US.UTF-8"
$ export LC_NUMERIC=en_US.UTF-8
$ export LC_TIME=en_US.UTF-8
$ export LC_COLLATE="en_US.UTF-8"
$ export LC_MONETARY=en_US.UTF-8
$ export LC_MESSAGES="en_US.UTF-8"
$ export LC_PAPER=en_US.UTF-8
$ export LC_NAME=en_US.UTF-8
$ export LC_ADDRESS=en_US.UTF-8
$ export LC_TELEPHONE=en_US.UTF-8
$ export LC_MEASUREMENT=en_US.UTF-8
$ export LC_IDENTIFICATION=en_US.UTF-8
$ export LC_ALL=
$ sort -u foo.txt |wc -l         # <-- with your env variables
1
$ export LC_COLLATE=C
$ sort -u foo.txt |wc -l         # <-- with LC_COLLATE changed to C
2

查看我的 /usr/share/i18n/locales/en_US 副本,我看到:

LC_COLLATE
% Copy the template from ISO/IEC 14651
copy "iso14651_t1"
END LC_COLLATE

这大概是从哪里来的。不知道为什么它告诉这些要整理在一起。

于 2012-12-27T18:21:18.453 回答