UTF8でLinuxを並べ替える

UTF8でLinuxを並べ替える

ソートされたファイル(含むLANG = fr_FR.UTF-8)には次のものが含まれます。

Bassano del Grappa - Remondini, Giuseppe, II (1745-1811)
Bassano del Grappa - Remondini, Giuseppe, I (1672-1742)
...
Zurich - Wolf, Johannes (1564-1627)
Zurich - Wolf, Johann Rudolf, I (15..-1624)

アクセントには問題ありません。しかし、なぜII以前Iですか?JohannesJohann

(これはRed Hat Enterprise Linux Serverバージョン6.6(San Diego)にあります。)

ベストアンサー1

POSIX 以外のロケールを使用している場合、GNU sortLinux で予想される出力は発生しません。 GNUを使用してもSolarisではこれは発生しませんsort。 Stéphane Chazelasの詳細な説明を見るここ

最良の方法は、POSIX少なくとも一貫した出力を提供するロケールに切り替えることです。

たとえば、

$ cat f
w
e
é
f
 z
  x

Linux:

$ LC_ALL=C sort f
  x
 z
e
f
w
é
$ LC_ALL=fr_FR.utf8 sort s
e
é
f
w
  x
 z

ソラリス:

LC_ALL=C sort s 
  x
 z
e
f
w
é
$ LC_ALL=fr_FR.UTF-8 sort s
  x
 z
e
é
f
w

おすすめ記事