カスタム照合リストでUnixコマンド "sort"を使用する方法は?

カスタム照合リストでUnixコマンド

背景:

  1. GB2312、GB18030-2005、GBK、Big5、CNS-11643の中国語表の文字ソート/エンコード順序は異なり、Unicode(UTF-8を含む)のソート方法とも異なります。

  2. macOS 12以降、sortmacOSに含まれるコマンドは正しく指定されていますが、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期待どおりに機能するようにソートされたリストをカスタマイズする方法はありますか?

ベストアンサー1

おすすめ記事