separateur numérique awk

separateur numérique awk - Linux et OS Alternatifs

Marsh Posté le 14-11-2005 à 21:57:25    

Bonjour,
 
j'utilise debian et kde sur mon ordi.
En utilisant la commande awk pour des calculs, celui ci utilise comme séparateur numérique la virgule, alors que le reste des programmes utilisent le point.
Comment dire à awk d'utiliser un point au lieu d'une virgule pour un calcul???
 
 
merci

Reply

Marsh Posté le 14-11-2005 à 21:57:25   

Reply

Marsh Posté le 14-11-2005 à 22:21:48    

man awk :o
 
awk -F "."
 
:o


---------------
:: Light is Right ::
Reply

Marsh Posté le 15-11-2005 à 09:16:33    

Tomate a écrit :

man awk :o
 
awk -F "."
 
:o


 
Ben en fait, je ne cherche pas à changer les séparateurs de champs, mais faire un truc du style :
3.1*2=6.2 au lieu de 3,1*2=6,2 donc utiliser les points plutot que les virgule dans une opération
 
j'ai touvé une méthode barbare, en debut de script, j'initialize la variable lang :
 LANG=en_US.ISO-8859-15
 
au lieu de fr_FR@euro
 
merci

Reply

Marsh Posté le 15-11-2005 à 10:00:27    

sinon, tu peux utiliser d'autres langages de script plus évolués comme python, perl ...
Même si awk est très puissant, il peut être parfois limité.
 
Par ailleurs, j'ai rien capté à ta question :D
Qu'est-ce que ça va changer de mettre des virgule ?


---------------
get amaroK plugin
Reply

Marsh Posté le 15-11-2005 à 15:22:29    

En fait, j'ais tout un script ou je fait intervenir des programmes en c.  
Le script bash sert a récuperer des valeurs dans les fichiers textes, et de temps en temps, je dois faire un calcul intermedaire, d'ou l'utilité de awk (j'aime pas bc)
Comme tout les nombres decimaux sont formaté avec des points, et awk utilisé des virgules pour les calculs, il me fallait une astuce pour forcer awk a utiliser des points... pour faire les calculs sinon il n'etais pas tres content :
 
WARNING : Divide by zero
 
pour ce qui est de python ou de perl, ok c'es tres évolué mais je préfere programmé mes routines en c

Reply

Marsh Posté le 15-11-2005 à 15:39:40    

tu peux avec sed (ou tr) remplacer les points par des virgules avant de traiter les données par awk.


Message édité par jlighty le 15-11-2005 à 15:39:57
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed