macOS 上でこの 3 行のファイルを LC_COLLATE=ja_JP.UTF-8 でソートすると予期せぬ結果になります。 入力 なにわ男子の逆転男子 アニメ おじゃる丸 アニメ「烏は主を選ばない」 ソート結果 アニメ おじゃる丸 なにわ男子の逆転男子 アニメ「烏は主を選ばない」 アニメ というカタカナの prefix をもっている 2 行の間に、なにわというひらがなの行が入っています。 ロケールごとに文字列の比較の仕方が異なるというのはわかるのですが「sort コマンドが行頭以外も比較してソートする」という理解で正しいのでしょうか? デバッグログをつけて実行 $ LC_ALL=ja_JP.UTF-8 sort --debug --ignore-nonprinting <<__TXT__ なにわ男子の逆転男子 アニメ おじゃる丸 アニメ「烏は主を選ばない」 __TXT__ Memory