現在、look
ドイツ語のウムラウト(ä
、、、ö
)でutil-linuxを使用する際にü
問題があります。テスト目的でLC_ALL=de_DE.UTF-8
。
考慮するgerman.dic
:
Aachen
Rindfleisch
コーディングからUTF-8
:
$ file german.dic
german.dic: UTF-8 Unicode text
次を使用して2番目の単語を見つけようとすると/usr/bin/look
:
$ look Rindf german.dic
Rindfleisch
ä
ドイツ語ウムラウト()を含む単語を追加しても、その単語はlook
まだ期待どおりに機能します。
$ cat german.dic
Altäster
Rindfleisch
$ look Rindf german.dic
Rindfleisch
しかし、、単語が発音区別記号で始まる場合:
$ cat german.dic
Ältester
Rindfleisch
$ look Rindf german.dic
分音符が大文字か小文字かは関係ありません。
また、設定しようとしましたがLC_ALL=de_DE.UTF-8
(確かに私のシステムにインストールされています)、うまくいきませんでした。
答え1
Stephen Kittはこのエラーがbsdmainutils
。
私は走っています
Linux archlinux 5.6.10-arch1-1 #1 SMP PREEMPT Sat, 02 May 2020 19:11:54 +0000 x86_64 GNU/Linux
2011年6月から開始util-linux
。
存在するbsdバージョンマンページlook
以下を参照してください:
入力ファイルは、LC_COLLATEを「C」に設定してソートする必要があります。
util-linuxのマンページにはこれがありませんlook
。
ロケールの並べ替えを使用すると、C
ウムラウトがエスケープされます。
$ LC_COLLATE=C sort german.dic
Rindfleisch
Ältester
ÖBB
(テストのためにÖで始まる行を追加した方法を参照してください)。
このファイルでこれを試してみると、期待look
どおりに動作します。
$ LC_COLLATE=C sort german.dic -o german.dic
$ cat german.dic
Rindfleisch
Ältester
$ look Rindf german.dic
Rindfleisch
$ look Ält german.dic
Ältester
$ look Ö german.dic
ÖBB
助けてくれてありがとう!