foo
内容が以下のファイルがあります。
140,22
236,224
2,86
これを使用してソートすると、sort foo
同じ結果が得られます。それは,
数字の後ろにあるか、少なくとも,
後ろにあることを伝えます3
。
逆説的にも、次のことが起こります。
$echo -e "2\n,\n3" | sort
,
2
3
,
その言葉はそれが以前にあったことであることを言います2
。私は理解できません。誰かがこれを説明できますか?
答え1
種類地域によって異なります。だから、奇妙な説明があるかもしれません。私のシステムであなたと同じ結果を得ました。ここでカンマは無視されるロケールを通して。したがって、リストにおよび276
を追加すると、次のようになります。296
$ sort /tmp/tosort
140,22
236,224
276
2,86
296
これは、2番目のコマンドの結果も説明します。カンマがソートされていません。最初しかし、無視されました。したがって、本質的に空の文字列をソートします。テストに空の文字列を追加すると、最初にその文字列が表示されます。
$ echo -e "2\n,\n3\n" | sort
,
2
3
(なぜ空の文字列がコンマの前にあるのかは明確ではありません。
「標準」POSIXロケールを使用すると、より予測可能な結果が得られます。
$ export LC_ALL=C
$ sort foo
140,22
2,86
236,224