ソート cmd フラグ -f を使用した de_DE.UTF-8 ロケールの予期しないソート順序

ソート cmd フラグ -f を使用した de_DE.UTF-8 ロケールの予期しないソート順序

次の環境でソートする場合:

$ uname -a
Linux srap12dxR1 3.12.28-4-default #1 SMP Thu Sep 25 17:02:34 UTC 2014 (9879bd4) x86_64 x86_64 x86_64 GNU/Linux
$ env | egrep 'LANG|LC'
LC_COLLATE=de_DE.UTF-8
LC_CTYPE=de_DE.UTF-8

次のUTF-8エンコーディングファイル:

$ cat sort_me 
¬B
b
Ä
D
X
ä
C
c
A
a
$ od -c sort_me 
0000000 302 254   B  \n   b  \n 303 204  \n   D  \n   X  \n 303 244  \n
0000020   C  \n   c  \n   A  \n   a  \n

使用- Fフラグ(大文字に縮小) 次のようになります。

A
a
b
C
c
D
X
¬B
Ä
ä

つまり、文字永久無視されず、ドイツ語ウムラウトああ最後に配置されます。

ロゴを使用しないでください- F出力は部分的に正確です。

$ sort sort_me
a
A
ä
Ä
b
¬B
c
C
D
X

つまり、文字永久無視してØB文字で並べ替え第二しかし、ドイツ語の分音符がWikiで言うように一般的な文字として扱われない理由は次のとおりです。

https://en.wikipedia.org/wiki/Alphabetical_order 「...ウムラウトのあるドイツ語の文字(ä、Ö、Ü)は、通常ウムラウトではなくバージョンのように扱われます...」

ベストアンサー1

おすすめ記事