固定長ファイルがありますが、どのようにデータをcsvファイルのように見えるものとして抽出できますか?

固定長ファイルがありますが、どのようにデータをcsvファイルのように見えるものとして抽出できますか?

だから、次のファイルがあります。

HDR2013100120131001000000000000                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
BDY         1         1<record><entry unit="Baneling"><name>ARMOR</name><value>0</value></entry><entry unit="Baneling"><name>BUILD_TIME</name><value>20</value></entry><entry unit="Baneling"><name>GAS</name><value>25</value></entry><entry unit="Baneling"><name>HP</name><value>30</value></entry><entry unit="Baneling"><name>MINERAL</name><value>75</value></entry><entry unit="Baneling"><name>POP</name><value>.50</value></entry><entry unit="Baneling"><name>SPEED</name><value>2.50</value></entry><entry unit="Baneling"><name
BDY         1         2>TYPE</name><value>-</value></entry><entry unit="Baneling"><name>UPG_SPEED</name><value>2.95</value></entry><entry unit="Brood Lord"><name>ARMOR</name><value>1</value></entry><entry unit="Brood Lord"><name>BUILD_TIME</name><value>34</value></entry><entry unit="Brood Lord"><name>GAS</name><value>250</value></entry><entry unit="Brood Lord"><name>HP</name><value>225</value></entry><entry unit="Brood Lord"><name>MINERAL</name><value>300</value></entry><entry unit="Brood Lord"><name>POP</name><value>
BDY         1         34.00</value></entry><entry unit="Brood Lord"><name>SPEED</name><value>1.41</value></entry><entry unit="Brood Lord"><name>TYPE</name><value>Armored / Massive</value></entry><entry unit="Brood Lord"><name>UPG_SPEED</name><value>1.41</value></entry><entry unit="Broodling"><name>ARMOR</name><value>0</value></entry><entry unit="Broodling"><name>BUILD_TIME</name><value>1</value></entry><entry unit="Broodling"><name>GAS</name><value>0</value></entry><entry unit="Broodling"><name>HP</name><value>30</val
BDY         1         4ue></entry><entry unit="Broodling"><name>MINERAL</name><value>0</value></entry><entry unit="Broodling"><name>POP</name><value>.00</value></entry><entry unit="Broodling"><name>SPEED</name><value>3.84</value></entry><entry unit="Broodling"><name>TYPE</name><value>Light</value></entry><entry unit="Broodling"><name>UPG_SPEED</name><value>3.84</value></entry><entry unit="Changeling"><name>ARMOR</name><value>0</value></entry><entry unit="Changeling"><name>BUILD_TIME</name><value>1</value></entry><entr
BDY         1         5y unit="Changeling"><name>GAS</name><value>0</value></entry><entry unit="Changeling"><name>HP</name><value>5</value></entry><entry unit="Changeling"><name>MINERAL</name><value>0</value></entry><entry unit="Changeling"><name>POP</name><value>.00</value></entry><entry unit="Changeling"><name>SPEED</name><value>2.25</value></entry><entry unit="Changeling"><name>TYPE</name><value>Light</value></entry><entry unit="Changeling"><name>UPG_SPEED</name><value>2.25</value></entry><entry unit="Corruptor"><n
BDY         1         6ame>ARMOR</name><value>2</value></entry><entry unit="Corruptor"><name>BUILD_TIME</name><value>40</value></entry><entry unit="Corruptor"><name>GAS</name><value>100</value></entry><entry unit="Corruptor"><name>HP</name><value>200</value></entry><entry unit="Corruptor"><name>MINERAL</name><value>150</value></entry><entry unit="Corruptor"><name>POP</name><value>2.00</value></entry><entry unit="Corruptor"><name>SPEED</name><value>2.95</value></entry><entry unit="Corruptor"><name>TYPE</name><value>Arm
BDY         1         7ored</value></entry><entry unit="Corruptor"><name>UPG_SPEED</name><value>2.95</value></entry><entry unit="Drone"><name>ARMOR</name><value>0</value></entry><entry unit="Drone"><name>BUILD_TIME</name><value>17</value></entry><entry unit="Drone"><name>GAS</name><value>0</value></entry><entry unit="Drone"><name>HP</name><value>40</value></entry><entry unit="Drone"><name>MINERAL</name><value>50</value></entry><entry unit="Drone"><name>POP</name><value>1.00</value></entry><entry unit="Drone"><name>SPE
BDY         1         8ED</name><value>2.81</value></entry><entry unit="Drone"><name>TYPE</name><value>Light</value></entry><entry unit="Drone"><name>UPG_SPEED</name><value>2.81</value></entry><entry unit="Hydralisk"><name>ARMOR</name><value>0</value></entry><entry unit="Hydralisk"><name>BUILD_TIME</name><value>33</value></entry><entry unit="Hydralisk"><name>GAS</name><value>50</value></entry><entry unit="Hydralisk"><name>HP</name><value>80</value></entry><entry unit="Hydralisk"><name>MINERAL</name><value>100</value><
BDY         1         9/entry><entry unit="Hydralisk"><name>POP</name><value>2.00</value></entry><entry unit="Hydralisk"><name>SPEED</name><value>2.25</value></entry><entry unit="Hydralisk"><name>TYPE</name><value>Light</value></entry><entry unit="Hydralisk"><name>UPG_SPEED</name><value>2.25</value></entry><entry unit="Infested Terran"><name>ARMOR</name><value>0</value></entry><entry unit="Infested Terran"><name>BUILD_TIME</name><value>50</value></entry><entry unit="Infested Terran"><name>GAS</name><value>0</value></e
BDY         1        10ntry><entry unit="Infested Terran"><name>HP</name><value>50</value></entry><entry unit="Infested Terran"><name>MINERAL</name><value>0</value></entry><entry unit="Infested Terran"><name>POP</name><value>.00</value></entry><entry unit="Infested Terran"><name>SPEED</name><value>1.50</value></entry><entry unit="Infested Terran"><name>TYPE</name><value>-</value></entry><entry unit="Infested Terran"><name>UPG_SPEED</name><value>1.50</value></entry><entry unit="Infestor"><name>ARMOR</name><value>0</val
BDY         1        11ue></entry><entry unit="Infestor"><name>BUILD_TIME</name><value>50</value></entry><entry unit="Infestor"><name>GAS</name><value>150</value></entry><entry unit="Infestor"><name>HP</name><value>90</value></entry><entry unit="Infestor"><name>MINERAL</name><value>100</value></entry><entry unit="Infestor"><name>POP</name><value>2.00</value></entry><entry unit="Infestor"><name>SPEED</name><value>2.25</value></entry><entry unit="Infestor"><name>TYPE</name><value>Armored</value></entry><entry unit="Infe
BDY         1        12stor"><name>UPG_SPEED</name><value>2.25</value></entry><entry unit="Locust"><name>ARMOR</name><value>0</value></entry><entry unit="Locust"><name>BUILD_TIME</name><value>5</value></entry><entry unit="Locust"><name>GAS</name><value>0</value></entry><entry unit="Locust"><name>HP</name><value>65</value></entry><entry unit="Locust"><name>MINERAL</name><value>0</value></entry><entry unit="Locust"><name>POP</name><value>.00</value></entry><entry unit="Locust"><name>SPEED</name><value>1.88</value></entr
BDY         1        13y><entry unit="Locust"><name>TYPE</name><value>Light</value></entry><entry unit="Locust"><name>UPG_SPEED</name><value>1.88</value></entry><entry unit="Mutalisk"><name>ARMOR</name><value>0</value></entry><entry unit="Mutalisk"><name>BUILD_TIME</name><value>33</value></entry><entry unit="Mutalisk"><name>GAS</name><value>100</value></entry><entry unit="Mutalisk"><name>HP</name><value>120</value></entry><entry unit="Mutalisk"><name>MINERAL</name><value>100</value></entry><entry unit="Mutalisk"><name
BDY         1        14>POP</name><value>2.00</value></entry><entry unit="Mutalisk"><name>SPEED</name><value>3.75</value></entry><entry unit="Mutalisk"><name>TYPE</name><value>Light</value></entry><entry unit="Mutalisk"><name>UPG_SPEED</name><value>3.75</value></entry><entry unit="Overlord"><name>ARMOR</name><value>0</value></entry><entry unit="Overlord"><name>BUILD_TIME</name><value>25</value></entry><entry unit="Overlord"><name>GAS</name><value>0</value></entry><entry unit="Overlord"><name>HP</name><value>200</value
BDY         1        15></entry><entry unit="Overlord"><name>MINERAL</name><value>100</value></entry><entry unit="Overlord"><name>POP</name><value>.00</value></entry><entry unit="Overlord"><name>SPEED</name><value>.59</value></entry><entry unit="Overlord"><name>TYPE</name><value>Armored</value></entry><entry unit="Overlord"><name>UPG_SPEED</name><value>1.88</value></entry><entry unit="Overseer"><name>ARMOR</name><value>0</value></entry><entry unit="Overseer"><name>BUILD_TIME</name><value>17</value></entry><entry unit=
BDY         1        16"Overseer"><name>GAS</name><value>50</value></entry><entry unit="Overseer"><name>HP</name><value>200</value></entry><entry unit="Overseer"><name>MINERAL</name><value>150</value></entry><entry unit="Overseer"><name>POP</name><value>.00</value></entry><entry unit="Overseer"><name>SPEED</name><value>1.88</value></entry><entry unit="Overseer"><name>TYPE</name><value>Armored</value></entry><entry unit="Overseer"><name>UPG_SPEED</name><value>2.75</value></entry><entry unit="Queen"><name>ARMOR</name><v
BDY         1        17alue>1</value></entry><entry unit="Queen"><name>BUILD_TIME</name><value>50</value></entry><entry unit="Queen"><name>GAS</name><value>0</value></entry><entry unit="Queen"><name>HP</name><value>175</value></entry><entry unit="Queen"><name>MINERAL</name><value>150</value></entry><entry unit="Queen"><name>POP</name><value>2.00</value></entry><entry unit="Queen"><name>SPEED</name><value>.94</value></entry><entry unit="Queen"><name>TYPE</name><value>-</value></entry><entry unit="Queen"><name>UPG_SPEED
BDY         1        18</name><value>.94</value></entry><entry unit="Roach"><name>ARMOR</name><value>1</value></entry><entry unit="Roach"><name>BUILD_TIME</name><value>27</value></entry><entry unit="Roach"><name>GAS</name><value>25</value></entry><entry unit="Roach"><name>HP</name><value>145</value></entry><entry unit="Roach"><name>MINERAL</name><value>75</value></entry><entry unit="Roach"><name>POP</name><value>2.00</value></entry><entry unit="Roach"><name>SPEED</name><value>2.25</value></entry><entry unit="Roach"><n
BDY         1        19ame>TYPE</name><value>Armored</value></entry><entry unit="Roach"><name>UPG_SPEED</name><value>3.00</value></entry><entry unit="Spine Crawler"><name>ARMOR</name><value>2</value></entry><entry unit="Spine Crawler"><name>BUILD_TIME</name><value>50</value></entry><entry unit="Spine Crawler"><name>GAS</name><value>0</value></entry><entry unit="Spine Crawler"><name>HP</name><value>300</value></entry><entry unit="Spine Crawler"><name>MINERAL</name><value>150</value></entry><entry unit="Spine Crawler"><
BDY         1        20name>POP</name><value>.00</value></entry><entry unit="Spine Crawler"><name>SPEED</name><value>1.00</value></entry><entry unit="Spine Crawler"><name>TYPE</name><value>Armored / Structure</value></entry><entry unit="Spine Crawler"><name>UPG_SPEED</name><value>1.00</value></entry><entry unit="Spore Crawler"><name>ARMOR</name><value>1</value></entry><entry unit="Spore Crawler"><name>BUILD_TIME</name><value>30</value></entry><entry unit="Spore Crawler"><name>GAS</name><value>0</value></entry><entry u
BDY         1        21nit="Spore Crawler"><name>HP</name><value>400</value></entry><entry unit="Spore Crawler"><name>MINERAL</name><value>150</value></entry><entry unit="Spore Crawler"><name>POP</name><value>.00</value></entry><entry unit="Spore Crawler"><name>SPEED</name><value>1.00</value></entry><entry unit="Spore Crawler"><name>TYPE</name><value>Armored / Structure</value></entry><entry unit="Spore Crawler"><name>UPG_SPEED</name><value>1.00</value></entry><entry unit="Swarm Host"><name>ARMOR</name><value>1</value
BDY         1        22></entry><entry unit="Swarm Host"><name>BUILD_TIME</name><value>40</value></entry><entry unit="Swarm Host"><name>GAS</name><value>100</value></entry><entry unit="Swarm Host"><name>HP</name><value>160</value></entry><entry unit="Swarm Host"><name>MINERAL</name><value>200</value></entry><entry unit="Swarm Host"><name>POP</name><value>3.00</value></entry><entry unit="Swarm Host"><name>SPEED</name><value>2.25</value></entry><entry unit="Swarm Host"><name>TYPE</name><value>Armored</value></entry><ent
BDY         1        23ry unit="Swarm Host"><name>UPG_SPEED</name><value>2.25</value></entry><entry unit="Ultralisk"><name>ARMOR</name><value>1</value></entry><entry unit="Ultralisk"><name>BUILD_TIME</name><value>55</value></entry><entry unit="Ultralisk"><name>GAS</name><value>200</value></entry><entry unit="Ultralisk"><name>HP</name><value>500</value></entry><entry unit="Ultralisk"><name>MINERAL</name><value>300</value></entry><entry unit="Ultralisk"><name>POP</name><value>6.00</value></entry><entry unit="Ultralisk">
BDY         1        24<name>SPEED</name><value>2.95</value></entry><entry unit="Ultralisk"><name>TYPE</name><value>Armored / Massive</value></entry><entry unit="Ultralisk"><name>UPG_SPEED</name><value>2.95</value></entry><entry unit="Viper"><name>ARMOR</name><value>1</value></entry><entry unit="Viper"><name>BUILD_TIME</name><value>40</value></entry><entry unit="Viper"><name>GAS</name><value>200</value></entry><entry unit="Viper"><name>HP</name><value>150</value></entry><entry unit="Viper"><name>MINERAL</name><value>1
BDY         1        2500</value></entry><entry unit="Viper"><name>POP</name><value>3.00</value></entry><entry unit="Viper"><name>SPEED</name><value>2.95</value></entry><entry unit="Viper"><name>TYPE</name><value>Armored</value></entry><entry unit="Viper"><name>UPG_SPEED</name><value>2.95</value></entry><entry unit="Zergling"><name>ARMOR</name><value>0</value></entry><entry unit="Zergling"><name>BUILD_TIME</name><value>24</value></entry><entry unit="Zergling"><name>GAS</name><value>0</value></entry><entry unit="Zergli
BDY         1        26ng"><name>HP</name><value>35</value></entry><entry unit="Zergling"><name>MINERAL</name><value>25</value></entry><entry unit="Zergling"><name>POP</name><value>.50</value></entry><entry unit="Zergling"><name>SPEED</name><value>2.95</value></entry><entry unit="Zergling"><name>TYPE</name><value>Light</value></entry><entry unit="Zergling"><name>UPG_SPEED</name><value>4.70</value></entry></record>                                                               
BDY         2         1<record><entry unit="Archon"><name>ARMOR</name><value>0</value></entry><entry unit="Archon"><name>BUILD_TIME</name><value>12</value></entry><entry unit="Archon"><name>GAS</name><value>300</value></entry><entry unit="Archon"><name>HP</name><value>10</value></entry><entry unit="Archon"><name>MINERAL</name><value></value></entry><entry unit="Archon"><name>POP</name><value>4.00</value></entry><entry unit="Archon"><name>SHIELD</name><value>350</value></entry><entry unit="Archon"><name>SPEED</name><va
BDY         2         2lue>2.81</value></entry><entry unit="Archon"><name>TOTAL</name><value>360</value></entry><entry unit="Archon"><name>TYPE</name><value>Massive</value></entry><entry unit="Archon"><name>UPG_SPEED</name><value>2.81</value></entry><entry unit="Carrier (4 interc.)"><name>ARMOR</name><value>2</value></entry><entry unit="Carrier (4 interc.)"><name>BUILD_TIME</name><value>120</value></entry><entry unit="Carrier (4 interc.)"><name>GAS</name><value>250</value></entry><entry unit="Carrier (4 interc.)"><nam
BDY         2         3e>HP</name><value>300</value></entry><entry unit="Carrier (4 interc.)"><name>MINERAL</name><value></value></entry><entry unit="Carrier (4 interc.)"><name>POP</name><value>6.00</value></entry><entry unit="Carrier (4 interc.)"><name>SHIELD</name><value>150</value></entry><entry unit="Carrier (4 interc.)"><name>SPEED</name><value>1.88</value></entry><entry unit="Carrier (4 interc.)"><name>TOTAL</name><value>450</value></entry><entry unit="Carrier (4 interc.)"><name>TYPE</name><value>Armored / Massi
BDY         2         4ve</value></entry><entry unit="Carrier (4 interc.)"><name>UPG_SPEED</name><value>1.88</value></entry><entry unit="Colossus"><name>ARMOR</name><value>1</value></entry><entry unit="Colossus"><name>BUILD_TIME</name><value>75</value></entry><entry unit="Colossus"><name>GAS</name><value>200</value></entry><entry unit="Colossus"><name>HP</name><value>200</value></entry><entry unit="Colossus"><name>MINERAL</name><value></value></entry><entry unit="Colossus"><name>POP</name><value>6.00</value></entry><e
BDY         2         5ntry unit="Colossus"><name>SHIELD</name><value>150</value></entry><entry unit="Colossus"><name>SPEED</name><value>2.25</value></entry><entry unit="Colossus"><name>TOTAL</name><value>350</value></entry><entry unit="Colossus"><name>TYPE</name><value>Armored / Massive</value></entry><entry unit="Colossus"><name>UPG_SPEED</name><value>2.25</value></entry><entry unit="Dark Templar"><name>ARMOR</name><value>1</value></entry><entry unit="Dark Templar"><name>BUILD_TIME</name><value>55</value></entry><en
BDY         2         6try unit="Dark Templar"><name>GAS</name><value>125</value></entry><entry unit="Dark Templar"><name>HP</name><value>40</value></entry><entry unit="Dark Templar"><name>MINERAL</name><value></value></entry><entry unit="Dark Templar"><name>POP</name><value>2.00</value></entry><entry unit="Dark Templar"><name>SHIELD</name><value>80</value></entry><entry unit="Dark Templar"><name>SPEED</name><value>2.81</value></entry><entry unit="Dark Templar"><name>TOTAL</name><value>120</value></entry><entry unit="
BDY         2         7Dark Templar"><name>TYPE</name><value>-</value></entry><entry unit="Dark Templar"><name>UPG_SPEED</name><value>2.81</value></entry><entry unit="High Templar"><name>ARMOR</name><value>0</value></entry><entry unit="High Templar"><name>BUILD_TIME</name><value>55</value></entry><entry unit="High Templar"><name>GAS</name><value>150</value></entry><entry unit="High Templar"><name>HP</name><value>40</value></entry><entry unit="High Templar"><name>MINERAL</name><value></value></entry><entry unit="High T
BDY         2         8emplar"><name>POP</name><value>2.00</value></entry><entry unit="High Templar"><name>SHIELD</name><value>40</value></entry><entry unit="High Templar"><name>SPEED</name><value>1.88</value></entry><entry unit="High Templar"><name>TOTAL</name><value>80</value></entry><entry unit="High Templar"><name>TYPE</name><value>-</value></entry><entry unit="High Templar"><name>UPG_SPEED</name><value>1.88</value></entry><entry unit="Immortal"><name>ARMOR</name><value>1</value></entry><entry unit="Immortal"><nam
BDY         2         9e>BUILD_TIME</name><value>50</value></entry><entry unit="Immortal"><name>GAS</name><value>100</value></entry><entry unit="Immortal"><name>HP</name><value>200</value></entry><entry unit="Immortal"><name>MINERAL</name><value></value></entry><entry unit="Immortal"><name>POP</name><value>4.00</value></entry><entry unit="Immortal"><name>SHIELD</name><value>100</value></entry><entry unit="Immortal"><name>SPEED</name><value>2.25</value></entry><entry unit="Immortal"><name>TOTAL</name><value>300</value>
BDY         2        10</entry><entry unit="Immortal"><name>TYPE</name><value>Armored</value></entry><entry unit="Immortal"><name>UPG_SPEED</name><value>2.25</value></entry><entry unit="Interceptor"><name>ARMOR</name><value>0</value></entry><entry unit="Interceptor"><name>BUILD_TIME</name><value>8</value></entry><entry unit="Interceptor"><name>GAS</name><value>0</value></entry><entry unit="Interceptor"><name>HP</name><value>40</value></entry><entry unit="Interceptor"><name>MINERAL</name><value></value></entry><entry u
BDY         2        11nit="Interceptor"><name>POP</name><value>.00</value></entry><entry unit="Interceptor"><name>SHIELD</name><value>40</value></entry><entry unit="Interceptor"><name>SPEED</name><value>7.50</value></entry><entry unit="Interceptor"><name>TOTAL</name><value>80</value></entry><entry unit="Interceptor"><name>TYPE</name><value>Light</value></entry><entry unit="Interceptor"><name>UPG_SPEED</name><value>7.50</value></entry><entry unit="Mothership"><name>ARMOR</name><value>2</value></entry><entry unit="Moth
BDY         2        12ership"><name>BUILD_TIME</name><value>160</value></entry><entry unit="Mothership"><name>GAS</name><value>400</value></entry><entry unit="Mothership"><name>HP</name><value>350</value></entry><entry unit="Mothership"><name>MINERAL</name><value></value></entry><entry unit="Mothership"><name>POP</name><value>8.00</value></entry><entry unit="Mothership"><name>SHIELD</name><value>350</value></entry><entry unit="Mothership"><name>SPEED</name><value>1.41</value></entry><entry unit="Mothership"><name>TOT
BDY         2        13AL</name><value>700</value></entry><entry unit="Mothership"><name>TYPE</name><value>Massive</value></entry><entry unit="Mothership"><name>UPG_SPEED</name><value>1.41</value></entry><entry unit="Mothership Core"><name>ARMOR</name><value>1</value></entry><entry unit="Mothership Core"><name>BUILD_TIME</name><value>30</value></entry><entry unit="Mothership Core"><name>GAS</name><value>100</value></entry><entry unit="Mothership Core"><name>HP</name><value>130</value></entry><entry unit="Mothership Co
BDY         2        14re"><name>MINERAL</name><value></value></entry><entry unit="Mothership Core"><name>POP</name><value>2.00</value></entry><entry unit="Mothership Core"><name>SHIELD</name><value>60</value></entry><entry unit="Mothership Core"><name>SPEED</name><value>1.88</value></entry><entry unit="Mothership Core"><name>TOTAL</name><value>190</value></entry><entry unit="Mothership Core"><name>TYPE</name><value>Armored</value></entry><entry unit="Mothership Core"><name>UPG_SPEED</name><value>1.88</value></entry><
BDY         2        15entry unit="Observer"><name>ARMOR</name><value>0</value></entry><entry unit="Observer"><name>BUILD_TIME</name><value>30</value></entry><entry unit="Observer"><name>GAS</name><value>75</value></entry><entry unit="Observer"><name>HP</name><value>40</value></entry><entry unit="Observer"><name>MINERAL</name><value></value></entry><entry unit="Observer"><name>POP</name><value>1.00</value></entry><entry unit="Observer"><name>SHIELD</name><value>20</value></entry><entry unit="Observer"><name>SPEED</nam
BDY         2        16e><value>1.88</value></entry><entry unit="Observer"><name>TOTAL</name><value>60</value></entry><entry unit="Observer"><name>TYPE</name><value>Light</value></entry><entry unit="Observer"><name>UPG_SPEED</name><value>2.81</value></entry><entry unit="Oracle"><name>ARMOR</name><value>0</value></entry><entry unit="Oracle"><name>BUILD_TIME</name><value>50</value></entry><entry unit="Oracle"><name>GAS</name><value>150</value></entry><entry unit="Oracle"><name>HP</name><value>100</value></entry><entry u
BDY         2        17nit="Oracle"><name>MINERAL</name><value></value></entry><entry unit="Oracle"><name>POP</name><value>3.00</value></entry><entry unit="Oracle"><name>SHIELD</name><value>60</value></entry><entry unit="Oracle"><name>SPEED</name><value>3.38</value></entry><entry unit="Oracle"><name>TOTAL</name><value>160</value></entry><entry unit="Oracle"><name>TYPE</name><value>Light</value></entry><entry unit="Oracle"><name>UPG_SPEED</name><value>3.38</value></entry><entry unit="Phoenix"><name>ARMOR</name><value>0
...                                                                                                                                                                                                                                                                                                 

容量が大きすぎて、より多くのコンテンツを完全に貼り付けることができません。

XMLが誤った内容であり、前の行に従うと、524番目の文字に達すると、xmlが次の行に続くことがわかります。

ファイル構造は次のとおりです。

Header:

Rec_type string(3) ‘HDR’;

Data_date date(‘YYYYMMDD’);

Create_timestamp date(‘YYYYMMDDHH24MMSSNNNNNN);

Filler string(492);

Newline string(1)=”\n”;

Total length: 524

Body:

Rec_type string(3) ‘BDY’

ID_XML decimal(10);

ID_SEGMENT decimal(10);

XML_DATA string(500);

Newline string(1)=”\n”

Total length: 524

Trailer:

Rec_type string(3) ‘TRL’

Num_records Decimal(9); //Note: leftpaded with leading zeros, number of body records

Num_xml_entries Decimal(9); //Note: leftpaded with leading zeros, number of xml <entry >…</entry> tags

Filler string(502);

Newline string(1)=”\n”;

Total length: 524

次のように新しいファイルに抽出するには、本文のデータが必要です。

ID_XML     ID_SEGMENT    UNIT         NAME           VALUE

1          1            Baneling      SPEED          2.50

1          1            Baneling      TYPE           null
...

1          2            Baneling      UPG_SPEED      2.95
... and so on

そのうち、ID_XMLはBDYの後の最初の数字であり、ID_Segmentは次の数字です。単位/名前と値はXMLセグメントから取得する必要があります。 ps。これは、実際にCSVで表示する必要がある様子を視覚的に表現したものです。

1,1,Baneling,SPEED,2.50

1,1,Baneling,TYPE,null
...

1,2,Baneling,UPG_SPEED,2.95
... and so on

これまでに使用したセグメントのみを抽出した後:

{
   sed  -e 's/></>\n</g' \
        -e 's/<value>\n<\/value>/<value>null<\/value>/g' \
        -e 's/<record>//g' \
        -e 's/<\/record>//g'
        -e 's/<entry unit="//g'\
        -e 's/">/,/g'\
        -e 's/<name>//g'\
        -e 's/<\/name>/,/g'\
        -e 's/<value>//g'\
        -e 's/<\/value>/./g'\
        -e 's/<\/entry>//g'     asd

} >aaa.txt

出力は次のとおりです。

Baneling,
ARMOR,
0.

Baneling,
BUILD_TIME,
20.

Baneling,
GAS,
25.

Baneling,
HP,
30.

awkを使用する予定なので、区切り文字「.」を使用します。新しい行と「」の場合、ファイルはcsvのように見えます。

私が考えたアプローチは

カット-c 24-524

3番目の列を取得してXML形式で指定して返すと、古い数字を使用できますが、それを直接行うことはできません。

どんなアイデアや解決策でも大歓迎です。

ベストアンサー1

そしてxml2

<yourfile grep '^BDY' |
  cut -b24- |
  xml2 |
  2csv record/entry @unit name value

散歩ができます。

おすすめ記事