我总是假设sort
没有任何额外的参数,将按词汇顺序对文件进行排序。但是今天我遇到了以下测试用例:
sort test2.txt
a/a
a/c
a//c
a/d
如您所见,第三行有两个斜杠,因此第二个斜线位于相邻行分别具有字母“c”和“d”的位置。我怀疑在任何代码页中'/'介于'c'和'd'之间,所以我想默认的比较算法并不是严格的词法。
是否有一些预处理(如删除非字母?)或特殊情况(如“一个或多个符号的序列等于任何其他符号序列”?)用于比较符号?
我读了man
一页,sort
但我发现没有任何启示。
我用
sort --version
sort (GNU coreutils) 8.5
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Mike Haertel and Paul Eggert.
而且我真的需要对数百万个URL进行排序以进行进一步的分析,这些URL假设有词汇顺序 - 我是否可以通过任何选项sort
来实现此目的?
我在我的Windows + Cygiwn排序(GNU coreutils)8.15上进行了相同的测试,由Cygwin打包(8.15-1),并按预期排序词汇
—
qbolec 2014年