# Compute veolcity / from the other value ############################################## BEGIN { C=299792.458; null6 = " "} function v2z(v){ v /= C ; return(sqrt((1.0+v)/(1.0-v))-1.0) } function z2v(z){ return(C*z*(2+z)/(2+2*z+z*z)) } { A = substr($0,1, 82); V = substr($0,83,6); z = substr($0,89,6); u = substr($0, 95, 1); B = substr($0, 96); if (V == null6) { if (z>0) V = sprintf("%6d", z2v(z+0.0)) } else if (z == null6) { if ((V+0)>0) { z = sprintf("%6.4f", v2z(V+0)); if (u == " ") u = "v"; } } printf "%-82s%s%s%s%s\n", A, V, z, u, B; }