次のようなデータファイルがあります。
xyz123 2.000 -0.3974 0.0 hij123
6.0 lmn123
8.7 efg123
13.9 uvw123
28.5 rst123
abc123 10.000 0.1943 0.0 wxy123
10.7 xyz123
19.9 pqr123
20.6 stu123
20.6 klm123
def123 50.000 -0.2595 19.2 jkl123
26.1 stu123
27.1 def123
27.1 ghi123
27.6 abc123
* uvw123 15.000 -0.3635
lmn123 40.000 -0.3695 19.2 jkl123
26.1 stu123
27.1 def123
27.1 ghi123
27.6 abc123
私はそれを次のように変換する必要があります:
xyz123,2.000,-0.3974,0.0,hij123
xyz123,2.000,-0.3974,6.0,lmn123
xyz123,2.000,-0.3974,8.7,efg123
xyz123,2.000,-0.3974,13.9,uvw123
xyz123,2.000,-0.3974,28.5,rst123
abc123,10.000,0.1943,0.0,wxy123
abc123,10.000,0.1943,10.7,xyz123
abc123,10.000,0.1943,19.9,pqr123
abc123,10.000,0.1943,20.6,stu123
abc123,10.000,0.1943,20.6,klm123
def123,50.000,-0.2595,19.2,jkl123
def123,50.000,-0.2595,26.1,stu123
def123,50.000,-0.2595,27.1,def123
def123,50.000,-0.2595,27.1,ghi123
def123,50.000,-0.2595,27.6,abc123
* uvw123,15.000、-0.3635、
lmn123,40.000,-0.3695,19.2,jkl123
lmn123,40.000,-0.3695,26.1,stu123
lmn123,40.000,-0.3695,27.1,def123
lmn123,40.000,-0.3695,27.1,ghi123
lmn123,40.000,-0.3695,27.6,abc123
Python、AWK、またはsedを使用してこれを行うにはどうすればよいですか?
更新:入力データに「uvw12315.000 -0.3635」のような行があり、aixのPythonコードを使用すると、この行が台無しになります。コードを変更して、私が示したような行を正しく出力する方法はありますか?