In Bash using AWK or sed I need to convert the following file:
...
numitem_tab0[] =<p>1 KEYWORD</p><p>2 KEYWORD</p><p>3 KEYWORD</p><p>4 KEYWORD</p><p>5 KEYWORD</p>...<p>25 KEYWORD</p>
subitem_tab0[] =<p>[ KEYWORD ]</p><p>[ KEYWORD ]</p>
...
numitem_tab6[] =<p>1 KEYWORD</p><p>2 KEYWORD</p><p>3 KEYWORD</p><p>4 KEYWORD</p>
numitem_tab7[] =<p>100 KEYWORD</p><p>101 KEYWORD</p><p>102 KEYWORD</p>...<p>115 KEYWORD</p>
...
subitem_tab66[] =<p>[ KEYWORD ]</p><p>[ KEYWORD ]</p><p>[ KEYWORD ]</p>
subitem_tab67[] =<p>[ KEYWORD ]</p><p>[ KEYWORD ]</p><p>[ KEYWORD ]</p><p>[ KEYWORD ]</p><p>[ KEYWORD ]</p>
...
<record>
<title>user name: xxxxx</title>
num_items: numitem_tab0[] =
<reference>yyyyy</reference>
</record>
...
<record><title>user name: xxxxx</title>
sub_items: subitem_tab0[] =
<reference>yyyyy</reference>
</record>
...
<record>
<title>user name: xxxxx</title>
num_items: numitem_tab7[] =
<reference>yyyyy</reference>
</record>
...
<record>
<title>user name: xxxxx</title>
num_items: numitem_tab6[] =
<reference>yyyyy</reference>
</record>
...
<record>
<title>user name: xxxxx</title>
sub_items: subitem_tab66[] =
<reference>yyyyy</reference>
</record>
...
<record>
<title>user name: xxxxx</title>
sub_items: subitem_tab67[] =
<reference>yyyyy</reference>
</record>
...
into:
...
<record>
<title>user name: xxxxx</title>
num_items: numitem_tab0[] =numitem_tab0[] =<p>1 KEYWORD</p><p>2 KEYWORD</p><p>3 KEYWORD</p><p>4 KEYWORD</p><p>5 KEYWORD</p>...<p>25 KEYWORD</p>
<reference>yyyyy</reference>
</record>
...
<record><title>user name: xxxxx</title>
sub_items: subitem_tab0[] =subitem_tab0[] =<p>[ KEYWORD ]</p><p>[ KEYWORD ]</p>
<reference>yyyyy</reference>
</record>
...
<record>
<title>user name: xxxxx</title>
num_items: numitem_tab7[] =numitem_tab7[] =<p>100 KEYWORD</p><p>101 KEYWORD</p><p>102 KEYWORD</p>...<p>115 KEYWORD</p>
<reference>yyyyy</reference>
</record>
...
<record>
<title>user name: xxxxx</title>
num_items: numitem_tab6[] =numitem_tab6[] =<p>1 KEYWORD</p><p>2 KEYWORD</p><p>3 KEYWORD</p><p>4 KEYWORD</p>
<reference>yyyyy</reference>
</record>
...
<record>
<title>user name: xxxxx</title>
sub_items: subitem_tab66[] =subitem_tab66[] =<p>[ KEYWORD ]</p><p>[ KEYWORD ]</p><p>[ KEYWORD ]</p>
<reference>yyyyy</reference>
</record>
...
<record>
<title>user name: xxxxx</title>
sub_items: subitem_tab67[] =subitem_tab67[] =<p>[ KEYWORD</p><p>[ KEYWORD ]</p><p>[ KEYWORD ]</p><p>[ KEYWORD ]</p>
<reference>yyyyy</reference>
</record>
...
That is, every "numitem_tab*[] =..." line must be cut and concatenated with corresponding "num_items: numitem_tab*[] =" line below. The tab number in "numitem_tab*" must match.
Similarly, every "subitem_tab*[] =..." line must be cut and concatenated with the corresponding "sub_items: subitem_tab*[] =" line below.
If there is no match for a "numitem_tab*[] =..." line or a "subitem_tab*[] =..." line it must be left untouched.
There will be a maximum of 600 "numitem_tab*[] =..." + "subitem_tab*[] =..." lines per file.