Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/07/2011, à 14:40

Cyrille_tux

[Réouvert] - [Bash] - Conversion nombre avec virgule vers un entier

Bonjour,

Soit le fichier suivant :

2.69629e+06
4.692e+04
9318.4

Je voudrais remplacer la valeur 2.69629e+06 par son nombre entier 2696290. Idem avec la seconde ligne
Quelles méthodes utiliseriez-vous ?


Edit du 06/08/2011
Je me permets de réouvrir ce post.

Le fichier en entrée définitif est maintenant de la forme suivante :

2.69629e+06 2503547 /
4.692e+04 3717679 /home
9318.4  93207 /boot 

Je n'ai pas réussi à adapter les commandes que vous m'avez données pour ce contenu.
Un coup de main ?

Dernière modification par Cyrille_tux (Le 06/08/2011, à 08:53)

Hors ligne

#2 Le 24/07/2011, à 16:46

credenhill

Re : [Réouvert] - [Bash] - Conversion nombre avec virgule vers un entier

hello

$ printf "%.0f\n" 2.69629e+06
2696290
$ 
$ printf "%.0f\n" 4.692e+04
46920

Hors ligne

#3 Le 24/07/2011, à 16:56

pode

Re : [Réouvert] - [Bash] - Conversion nombre avec virgule vers un entier

Autre solution avec awk :

$ awk -F"e" 'BEGIN{OFMT="%.0f"} {print $1 * (10 ^ $2)}' fichier_valeurs
2696290
46920
9318

ou ça (si tu veux garder les chiffres après la virgule) :

$ awk -F"e" 'BEGIN{OFMT="%.5f"} {print $1 * (10 ^ $2)}' fichier_valeurs
2696290
46920
9318.40000

Hors ligne

#4 Le 25/07/2011, à 22:33

Cyrille_tux

Re : [Réouvert] - [Bash] - Conversion nombre avec virgule vers un entier

Bonsoir messieurs,

Je vous remercie pour ces deux posts. C'est nickel.
Credenhill : j'ai remplacé le "." de "2.69629" par une virgule pour que la commande fonctionne.

++

Hors ligne