背景:
GB2312、GB18030-2005、GBK、Big5、CNS-11643の中国語表の文字ソート/エンコード順序は異なり、Unicode(UTF-8を含む)のソート方法とも異なります。
macOS 12以降、
sort
macOSに含まれるコマンドは正しく指定されていますが、GB18030 / CNS-11643 / Big5のエンコードシーケンスは考慮されません。LC_COLLATE=zh_CN.GB18030 (or zh_TW.Big5, etc.)
最小操作例:macOS Automatorアプリケーションにこのシェルコマンドを追加し、コンテンツを次に送信しますstdin
。
iconv -t gb18030 | LC_COLLATE=zh_CN.GB18030 sort -uf | iconv -f gb18030
(macOSシステム環境設定を使用すると、このAutomatorサービスにショートカットキーをバインドできます。)
次に、BBEdit、TextEdit、またはCotEditでテキスト文書を作成し、macOS "サービス"をサポートする限り、目的のアプリケーションを作成して次のコンテンツをコピーします。
一
䴘
次に、これら2行を選択して上記で作成したサービスを実行します。
予想される結果:GB18030の規定によると、「一」は「䴘」より上位に位置しています。
実際の結果:無効なデータエラーです。
この機能強化のリクエストをAppleに送信しますが、このフィードバックが受け入れられ処理されるかどうかは保証できません。また、コマンドがsort
期待どおりに機能するようにソートされたリストをカスタマイズする方法はありますか?