Je me suis bien tiré les cheveux avec le awk de mon Mac Intel (sous Leopard):
des opérations mathématiques simples sur des colonnes d’un fichier me donnaient
des résultats complètement aberrants.
De même je me suis aperçu que:
echo "1.23456" |awk '{print -$1}''
-1
et que
echo "1,23456" |awk '{print -$1}'
-1,23456
En cherchant pas mal sur le web j’ai trouvé que la faute venait de la variable LC_NUMERIC.
locale | grep LC_NUMERIC
LC_NUMERIC="fr_FR.UTF-8"
En changeant cette variable par export LC_NUMERIC=C les résultats étaient complètement différents:
echo "1.23456" |awk '{print -$1}'
-1.23456
et
echo "1,23456" |awk '{print -$1}'
-1
Ce qui a résolu mes problèmes d’opérations mathématiques (j’ai donc exporter LC_NUMERIC=C dans mon .profile).
PS: Cela dit en passant la réponse -1 donnée, faudrait m’expliquer …
Une réponse à awk et LC_NUMERIC