Double-precision result (awk)

hi,
I am a new awk user, now i want to change my result from

1 ca 0.2057422D-01 -0.7179106D-02 -0.5600872D-02
2 o 0.2463722D-01 -0.1554542D-01 0.3110649D-01
3 h -0.1068047D-01 0.1016889D-01 -0.4088230D-02

to

1 ca 0.02057422  -0.007179106  -0.005600872
2 o  0.02463722  -0.01554542    0.03110649
3 h  -0.01068047  0.01016889  -0.004088230

Any idea
Thanks
wanchem

Use gawk, nawk or /usr/xpg4/bin/awk on Solaris:

awk '{
  gsub(/D-/,"E-")
  for (i = 2; ++i <= NF;) 
    $i = sprintf("%0.9f", $i)
      }-3
	' infile

deleted.:frowning:

Thank you very much.

:slight_smile:

wanchem

I believe the result will be different from mine :slight_smile: