0

ソートキーa、a01、およびa02を考慮すると、末尾のフィールドがない場合、ソート結果は次のようになります。

$ cat test1
a01
a
a02
$ sort test1
a
a01
a02
$

しかし、尾鉱フィールドがある場合、何かが奇妙になります:

$ cat test2
a01 7
a 12
a02 42
$ sort test2
a01 7
a02 42
a 12
$

キー「a」がソート結果の上から下に落ちるのはなぜですか?

私のソートバージョンは「sort(GNU coreutils)5.97」です。

4

1 に答える 1

1

私のバージョンのmanページにはsort次のように書かれています。

***  WARNING  *** The locale specified by the environment affects sort order.  
Set LC_ALL=C to get the traditional sort order that uses native byte values.

実際、2番目の例を設定LC_ALL=Cして実行すると、次のようになります。sort

$ LC_ALL=C sort < tosort 
a 12
a01 7
a02 42

デフォルトのロケートはおそらく。以外のものCです。

于 2012-04-25T03:53:25.457 に答える