Bonjour,

Est-il possible de modifier les "locale" à l'intérieur d'un programme gawk ?

Ce que je voudrais faire, c'est tester si un champ ne contient que des majuscules non accentuées.
Alors, j'y arrive comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$ LC_COLLATE=C gawk '/^[A-Z]$/' <<<"É"
$ LC_CTYPE=C gawk '/^[[:upper:]]$/' <<<"É"
$
Mais est-il possible de le faire dans le programme gawk ? J'ai essayé ceci, mais ça ne fonctionne pas, du moins, ça ne fonctionne pas comme je voudrais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
$ gawk 'BEGIN{ENVIRON["LC_COLLATE"]="C"} /^[A-Z]$/' <<<"É"
É
$ gawk 'BEGIN{LC_COLLATE="C"} /^[A-Z]$/' <<<"É"
É
$ gawk 'BEGIN{ENVIRON["LC_CTYPE"]="C"}/^[[:upper:]]$/' <<<"É"
É
$ gawk 'BEGIN{LC_CTYPE="C"}/^[[:upper:]]$/' <<<"É"
É
$