Il oblige les applications à utiliser la langue par défaut pour la sortie et force le tri par octet.
$ 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
Comme déjà expliqué, le LANG
la variable d'environnement contrôle la localisation.
Cela affecte de nombreux outils de ligne de commande standard comme sort
, grep
, awk
.
Définir sa valeur sur "C" indique à tous ces outils de ne prendre en compte que les caractères ASCII de base et de désactiver la correspondance multioctet UTF-8.
Une autre bonne raison que la localisation d'utiliser cette variable d'environnement est la performance :elle peut faire grep
1000 fois plus rapide pour grep
versions <2.7 :http://rg03.wordpress.com/2009/09/09/gnu-grep-is-slow-on-utf-8/
Sur la raison pour laquelle la lettre "C" est utilisée pour spécifier une locale de base "sûre", voir Pourquoi "LANG=C" ? (pas D ou E ou F).
LANG=C est un moyen de désactiver la localisation. Il est utilisé dans les scripts pour prédire la sortie du programme qui peut varier en fonction de la langue actuelle. Pour plus d'informations, lisez ceci