locales, utf8, sensibilité a la casse

Vincent Lefevre vincent at vinc17.org
Wed Jan 4 17:00:30 CET 2006


On 2006-01-04 16:20:38 +0100, Jeremy Monnet wrote:
> Sur 2 machines je fais un grep, et le résultat différe. Après
> recherche et essais, il se toruve que le problème est une problèmes de
> locale :
> Si LC_CTYPE est a "en_US", grep est sensible a la casse,
> si LC_CTYPE est a "en_US.UTF-8" grep n'est pas sensible a la casse.

grep n'est pas sensible à la casse, sauf si on utilise l'option -i.

>  et la commande est :
> grep -E '^[a-z]*art' essai
> 
> Cartouche est trouvé en "en_US.UTF-8", mais pas en "en_US".

Le problème est différent: tu utilises un intervalle, et un "man grep"
dit:

  Many locales sort characters in dictionary order, and in these
  locales [a-d] is typically not equivalent to [abcd]; it might be
  equivalent to [aBbCcDd], for example.

Ici, avec en_US.UTF-8 et même fr_FR.UTF-8, Cartouche n'est pas trouvé.
D'autre part, l'ordre du dictionnaire n'est-il pas défini par LC_COLLATE?

-- 
Vincent Lefèvre <vincent at vinc17.org> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / SPACES project at LORIA



More information about the Shell mailing list