Ascii-floats in 'raw binary' convertieren

Guten Tag zusammen,

ich steh grad voll auf dem Schlauch beim Versuch „schnell“ eine Textdatei mit Zahlen zB.:
"
-0.000000e+00 -1.296484e+01 -1.296484e+01 -3.704241e+00

"

in eine sog „.raw“ Datei zu konvertieren. Es sollen einfache floating points in Binärformat sein.
Es geht darum Daten in „Paraview“ zu importieren. Ich benutze Linux würde also Shell-commando, eine awk-Funktion, oder ein ganz kurzes gfortran Programm bevorzugen, und wäre für den erlösenden Tipp sehr dankbar!!

Gruß
r

Hallo,

ich steh grad voll auf dem Schlauch beim Versuch „schnell“
eine Textdatei mit Zahlen zB.:
"
-0.000000e+00 -1.296484e+01 -1.296484e+01 -3.704241e+00

"

in eine sog „.raw“ Datei zu konvertieren. Es sollen einfache
floating points in Binärformat sein.

Perl to the rescue:

$ echo -0.000000e+00 -1.296484e+01 -1.296484e+01 -3.704241e+00 | perl -wne 'print pack "f\*", split' \> floats.raw
$ hexdump -C floats.raw
00000000 00 00 00 80 fc 6f 4f c1 fc 6f 4f c1 49 12 6d c0 |.....oO..oO.I.m.|
00000010

Siehe http://perldoc.perl.org/functions/pack.html für weitere Formate, die du pack() übergeben kannst, falls du doch double precision oder so etwas brauchen solltest.

Grüße,
Moritz

Super! Herzlichen Dank, war genau was ich wissen wollte!

P.S.: Das mit den Boards zu den IT Themen ist ein bisschen kompliziert …