小编a5h*_*5hk的帖子

排序命令不一致的行为

我想对两个文件进行排序,但无法获得一致的结果。排序规则似乎存在问题,但我无法理解原因。在示例文件中,分隔符是一个空格:

文件 1:

a
b
B
A
Run Code Online (Sandbox Code Playgroud)

文件2:

a 1
b 0
B 1
A 0
Run Code Online (Sandbox Code Playgroud)

sort -k1,1用来对这些文件进行排序,输出是:

排序 1:

a
A
b
B
Run Code Online (Sandbox Code Playgroud)

排序2:

A 0
a 1
b 0
B 1
Run Code Online (Sandbox Code Playgroud)

我需要 a 中的那些排序文件,join它目前抱怨文件之一未排序。

在我的环境中LC_COLLATELC_ALL没有设置,LANG设置为en_US.UTF-8

随着LC_ALL=C sort -k1,1输出为:

排序 11:

A
B
a
b
Run Code Online (Sandbox Code Playgroud)

排序22:

A 0
B 1
a 1
b 0
Run Code Online (Sandbox Code Playgroud)

我不需要特定的排序,我只希望它能够加入结果。这种方式join有效。为了安全起见,我也可以在前面join加上LC_ALL=C.

我的问题

为什么sorted1 a是 …

centos sort locale

9
推荐指数
1
解决办法
1725
查看次数

标签 统计

centos ×1

locale ×1

sort ×1