Вы можете все это сделать в awk
, насколько я вижу, что-то вроде
awk '/^#/ { print $0 >> "File2" ; getline}
$0 ! ~ /#/ { if ( $4 == 0 ) {
f1 = $1 ; f2 = $2 ; f3 = $3
printf("%5.0f%12.4f%12.4f%5.0f%12.4f\n", f1, f2, f3, $4, $5) >> "File2" }
else { printf("%5.0f%12.4f%12.4f%5.0f%12.4f\n", f1, f2, f3, $1, $2) >> "File2" }
} INPUTFILE