Obliga a las aplicaciones a usar el idioma predeterminado para la salida y obliga a que la clasificación sea por bytes.
$ 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
Como ya se explicó, el LANG
la variable de entorno controla la localización.
Afecta a muchas herramientas de línea de comandos estándar como sort
, grep
, awk
.
Establecer su valor en "C" le dice a todas esas herramientas que consideren solo los caracteres ASCII básicos y deshabiliten la coincidencia multibyte UTF-8.
Otra buena razón además de la localización para usar esa variable de entorno es el rendimiento:puede hacer grep
1000 veces más rápido para grep
versiones <2.7:http://rg03.wordpress.com/2009/09/09/gnu-grep-is-slow-on-utf-8/
Sobre el motivo por el que se utiliza la letra "C" para especificar una configuración regional básica "segura", consulte ¿Por qué "LANG=C"? (no D, E o F).
LANG=C es una forma de deshabilitar la localización. Se utiliza en secuencias de comandos para predecir la salida del programa, que puede variar según el idioma actual. Para obtener más información, lea esto