107.3基礎
sort等が文字列を並べる際のlocale依存の照合順序だけを切り替える。
対象となる環境変数はどれか。
× 不正解
LC_COLLATEはsortの照合順序や文字範囲の扱いなど、文字列比較規則を制御する。
詳細解説
誤り
LC_TIME日時の表記や月・曜日名に作用するcategoryである。
誤り。LC_TIMEは月名、曜日名、日付format等を変えるが、sortの照合規則を担当しない。
誤り
LC_NUMERIC小数点や数値書式に作用するcategoryである。
誤り。LC_NUMERICは小数点記号等の数値表記を変え、文字列のcollationとは別である。
正しい
LC_COLLATE文字列の照合・並び順に作用するcategoryである。
正しい。LC_COLLATEがlocaleごとの文字照合順を提供し、sort等の比較結果へ作用する。
誤り
LC_MONETARY通貨記号や金額書式に作用するcategoryである。
誤り。LC_MONETARYは通貨記号や金額formatのcategoryで、一般の文字列順序ではない。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '%s\n' b A a | LC_ALL=C sort期待される結果
A
a
b理解のポイント
- COLLATEは照合
- TIMEは日時
- NUMERICは数値書式
確認時の注意
- 確認環境: POSIX C locale / sort
基礎のおさらい
C localeの照合
C localeではbyte値に基づく予測しやすい順序になり、script検証で利用される。
表示と照合
LC_CTYPEが文字分類、LC_COLLATEが順序を担当するため、文字を扱うcategoryも役割が異なる。
問題IDKP-107-707
確認環境POSIX C locale / sort
最終技術確認2026-08-13
誤り・権利侵害を報告