Bonjour à tous,
J'ai écris ce petit script bash qui doit transformer ce fichier nommé "result":
& 10 & -4.4147079988E+01 & 4.6592513267E+00 & 7.3491923355E+00 \ \
& 12 & -4.4150940635E+01 & 4.6592513267E+00 & 7.3525388258E+00 \ \
& 14 & -4.4151624528E+01 & 4.6594378193E+00 & 7.3495800950E+00 \ \
& 16 & -4.4151715874E+01 & 4.6592457860E+00 & 7.3491923355E+00 \ \
& 18 & -4.4152277518E+01 & 4.6579270685E+00 & 7.3486018485E+00 \ \
& 20 & -4.4152935484E+01 & 4.6582915896E+00 & 7.3484648209E+00 \ \
& 24 & -4.4153569333E+01 & 4.6585501990E+00 & 7.3478948665E+00 \ \
& 28 & -4.4153664604E+01 & 4.6587170762E+00 & 7.3483576215E+00 \ \
en ce fichier nommé "result.out" :
& 10 & -22.07353995 & 4.6592513267 & 7.3491923355 \\
& 12 & -22.07433395 & 4.6592513267 & 7.3525388258 \\
& 14 & -22.07353995 & 4.6594378193 & 7.3495800950 \\
& 16 & -22.07344995 & 4.6592457860 & 7.3491923355 \\
& 18 & -22.07333995 & 4.6579270685 & 7.3486018485 \\
& 20 & -22.06777775 & 4.6582915896 & 7.3484648209 \\
& 24 & -22.04563995 & 4.6585501990 & 7.3478948665 \\
& 28 & -22.07353995 & 4.6587170762 & 7.3483576215 \\
Il faut en gros diviser la deuxième colonne par 2 et effectuer quelques opération de mise en forme pour mettre facilement en latex par la suite.
Le problème est que pour le moment mon code me donne:
& 10 & -3.914707999 & 4.6592513267 & 7.3525388258 \\
& 12 & -3.915094064 & 4.6592513267 & 7.3525388258 \\
& 14 & -3.915162453 & 4.6594378193 & 7.3495800950 \\
& 16 & -3.915171587 & 4.6592457860 & 7.3491923355 \\
& 18 & -3.915227752 & 4.6579270685 & 7.3486018485 \\
& 20 & -3.915293548 & 4.6582915896 & 7.3484648209 \\
& 24 & -3.915356933 & 4.6585501990 & 7.3478948665 \\
& 28 & -3.915366460 & 4.6587170762 & 7.3483576215 \\
Il divise donc mal par 2 ???
Mon code est le suivant :
D'avance merci pour vos réponses.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #!/bin/bash #set -x while read n1 n2 n5 val1 n6 val2 n7 val3 do printf " & " printf "%'.0f " $n2 printf " & " val1=$(echo "scale=9; $val1 / 2" | bc) printf "%'.9f " $val1 printf " & " printf "%'.10f " $val2 printf " & " printf "%'.10f " $val3 printf " \\" printf "\\" printf " \n" done < result > result.out