ソートされたファイル(含む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
ですか?Johannes
Johann
(これはRed Hat Enterprise Linux Serverバージョン6.6(San Diego)にあります。)
答え1
POSIX 以外のロケールを使用している場合、GNU sort
Linux で予想される出力は発生しません。 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
答え2
ソートする前に、すべてのスペースをパターン000に置き換えて問題を解決しました(スペースの問題ですか!?)。みんなに感謝します。特に、「文字列から配列シーケンスを作成する」へのリンクを提供してくれたStéphaneに感謝します。