アプリケーションが出力にデフォルト言語を使用することを強制し、並べ替えをバイト単位にすることを強制します。
$ LANG=es_ES man
¿Qué página de manual desea?
$ LANG=C man
What manual page do you want?
$ LANG=en_US sort <<< $'a\nb\nA\nB'
a
A
b
B
$ LANG=C sort <<< $'a\nb\nA\nB'
A
B
a
b
すでに説明したように、08
環境変数はローカリゼーションを制御します。
12
などの多くの標準コマンドライン ツールに影響します。 、 20
、 38
.
その値を「C」に設定すると、基本的な ASCII 文字のみを考慮し、UTF-8 マルチバイト マッチを無効にするようにすべてのツールに指示します。
その環境変数を使用するローカリゼーション以外のもう 1 つの正当な理由は、パフォーマンスです。 53
で 1000 倍高速 バージョン <2.7 :http://rg03.wordpress.com/2009/09/09/gnu-grep-is-slow-on-utf-8/
「安全な」基本ロケールを指定するために文字「C」が使用される理由については、Why "LANG=C"? を参照してください。 (D、E、F ではない)
LANG=C は、ローカリゼーションを無効にする方法です。現在の言語によって異なる可能性があるプログラム出力を予測するために、スクリプトで使用されます。詳細については、こちらをお読みください