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
参考
打赏作者以资鼓励: