J'essaie de manipuler un fichier qui contient des nombres en notation scientifique, mais sans le e
symbole, c'est 1.2e+3
-à- dire écrit comme 1.2+3
.
La chose la plus simple à laquelle j'ai pensé awk
était de remplacer +
par e+
, en utilisant la gsub
fonction et de faire mon calcul dans le nouveau fichier. Il en va de même pour le cas négatif. Donc, un simple correctif pourrait être fait en utilisant la commande suivante
awk '{gsub("+", "e+", $1); print $1, $2, $3, $4, $5}' file_in
et faites de même dans toutes les colonnes.
Cependant, le fichier contient également des nombres négatifs, ce qui complique un peu les choses. Un exemple de fichier peut être vu ci-dessous
1.056000+0 5.000000-1 2.454400-3 2.914800-2 8.141500-6
2.043430+1 5.000000-1 2.750500-3 2.698100-2-2.034300-4
3.829842+1 5.000000-1 1.969923-2 2.211364-2 9.499900-6
4.168521+1 5.000000-1 1.601262-2 3.030919-2-3.372000-6
6.661784+1 5.000000-1 5.250575-2 3.443669-2 2.585500-5
7.278104+1 5.000000-1 2.137055-2 2.601701-2 8.999800-5
9.077287+1 5.000000-1 1.320498-2 2.961020-2-1.011600-5
9.248130+1 5.000000-1 3.069610-3 2.786329-2-6.317000-5
1.049935+2 5.000000-1 4.218794-2 3.321955-2-5.097000-6
1.216283+2 5.000000-1 1.432105-2 3.077165-2 4.300300-5
Une idée sur la façon de manipuler et de calculer avec un tel fichier?