#1 Le 24/07/2011, à 13: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, à 07:53)
Hors ligne
#2 Le 24/07/2011, à 15: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, à 15: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, à 21: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