|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : avril 2011 Messages : 14 ![]() |
Bonjour,
J'ai besoin de manipuler des chiffres dans un fichier .tem et de les transférer dans un fichier .out. Mon problème est que je n'arrive pas à obtenir le bon résultat après un calcul de division avec les chiffres qui sont présents dans le fichier .tem. Par exemple, je divise 1.2022222 par 100, ça donne 0. J'ai testé même avec2.403126079 +1, ça donne 3 au lieu de 3.403126079. Merci d'avance pour votre aide. Clement |
|
|
01
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 534 ![]() |
c'est pas la bonne solution.
La bonne solution est de calculer directement en décimale par exemple avec dc pour empêcher toute création d'un entier absolu (qui ne peut pas devenir un décimal) exemple 4.320001 dans un fichier texte : Code :
autant travailler depuis le départ en décimal. |
||
|
|
20
|
|
|
#3 | ||
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 534 ![]() |
Suite au Message privé un exemple complêt avec awk pour traiter le fichier :
voilà la solution avec un exemple concret il faut faire Code :
echo "9k "$(commande_sortie_donnée)" 100 / " | dc > outpout de plus dc utilise la notation mathématique RPN. donc pour un fichier qui à par exemple ça devient pour une division par 100 : Code :
|
||
|
|
20
|
|
|
#4 | ||
|
Invité régulier
![]() Inscription : avril 2011 Messages : 14 ![]() |
J'ai créé un .awk à faire l’extraction Extrat.awk et un batch, le code dans le batch est :
Code :
Clement |
||
|
|
01
|
|
|
#5 | |||
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 534 ![]() |
Citation:
Comme je te l'ai déjà dit dans les messages privés, je répète : un batch à forcément un interpréteur en entête tu n'en as pas. tes chemins sont tous faux "\" un chemin unix ne contient jamais de "\" tu déclares des choses après leur usage... c'est impossible. tu aurais au moins pu prendre 30 secondes pour regarder un exemple avant de te lancer ![]() Code :
et encore là c'est pas propre je supprime pas le fichier output si le calcul échoue... |
|||
|
|
00
|
|
|
#6 | |||||
|
Invité régulier
![]() Inscription : avril 2011 Messages : 14 ![]() |
Citation:
# la partie d’extraction .awk marche bien, je voudrais faire des calculs décimaux sur une colonne du fichier out en gardant les restes. Code :
|
|||||
|
|
01
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 534 ![]() |
si tu es sous windows tu as pas un shell complet je pense ... donc oublie tout usage de script unix, convertis toi à powershell (l'équivalent windows) mais là par contre je peux aucunement t'aider malheureusement.
j'ai quitté le coté obscur de la gforth y'a genre 1996 donc 15 ans.... ![]() |
|
|
00
|
|
|
#8 | |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 534 ![]() |
Citation:
il faut bien comprendre que les shell, awk, sed, perl, gforth etc... sont tous des interpréteurs indépendants appelés en fonction des besoins ; on choisit les plus adaptés...et on mixe les uns et les autres à travers des "|" pour faire des traitements distincts par l'un et par l'autre pour avoir les fonctions qu'on veut au moment où on veut ... c'est l'avantage de ce système hyper souple qui interdit donc à l'utilisateur de rester sans solution... |
|
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 070 ![]() |
Bonjour,
mais pourquoi utiliser dc, awk peut le faire lui-même, non ? Code :
|
||
|
|
20
|
|
|
#10 |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 534 ![]() |
ah ... ça je note... je pensais qu'awk gerait que de l'int
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com