Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3835 connectés 

 


Dernière réponse
Sujet : separateur numérique awk
jlighty tu peux avec sed (ou tr) remplacer les points par des virgules avant de traiter les données par awk.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
jlighty tu peux avec sed (ou tr) remplacer les points par des virgules avant de traiter les données par awk.
minau380 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
bobuse 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 ?
minau380

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

Tomate man awk :o
 
awk -F "."
 
:o
minau380 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

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)