FAIRYFAR-INTERNAL
 
  FAIRYFAR-INTERNAL  |  SITEMAP  |  ABOUT-ME  |  HOME  
您的足迹: Shell sort命令陷阱
Shell sort命令陷阱

Linux的sort命令常用于文本文件排序。然后,其中却暗藏陷阱。

先准备一个测试文本test.txt

snippet.txt
A
D
 c
B

注意:第3行行前有空格。

执行默认排序,很多系统上排序结果如下:

snippet.bash
[root@local ~]# sort test.txt
A
B
 c
D

而在另一些系统上,排序可能如下:

snippet.bash
[root@local ~]# sort test.txt
 c
A
B
D

这是因为,sort默认会使用系统当前locale进行排序。如果希望sort排序结果稳定,需要强制指定locale。方法如下:

snippet.bash
[root@local ~]# export LC_ALL=C; sort test.txt
 c
A
B
D
 
[root@local ~]# export LC_ALL=en_US; sort test.txt
A
B
 c
D

参考



打赏作者以资鼓励:
移动端扫码阅读: