need to extract warnings and cautions

I need to extract all "text" from within <WARNING>text</WARNING> and "text" from within <CAUTION>text</CAUTION> tags in an SGML file. I need this separated or formatted in a file so that I can copy and paste the warnings and cautions into a table. Looking for ideas. Thanks.

Provide an example of your file please

The example was a good idea. I had forgotten that the actual warning and caution data I need is inside para tags within the warning and caution tag pairs. <WARNING><PARA>text</PARA></WARNING>

<EM CHG="N"
CUSNAME="BWB"
DOCNBR="M-1000-T"
LANG="EN"
MODEL="xxx 11111"
OIDATE="20020201"
REPREWPG="901/1401"
REVDATE="20030912"
REVLEVEL="TASK"
SPL="KD0000"
TSN="27"
TSNCAA="27"
TSNNONCAA="27">
<CHAPTER CHAPNBR="99">
<SECTION CHAPNBR="99"
SECTNBR="31">
<SUBJECT CHAPNBR="99"
SECTNBR="31"
SUBJNBR="10">
<PGBLK CHAPNBR="99"
PGBLKNBR="401"
SECTNBR="31"
SUBJNBR="10"><TITLE>INSTALLATION</TITLE>
<TASK CHAPNBR="99"
CONFLTR="A"
FUNC="400"
PGBLKNBR="401"
SECTNBR="31"
SEQ="801"
SUBJNBR="10"
VARNBR="01">
<EFFECT EFFRG="ALL"
EFFTEXT="ALL">
</EFFECT>
<CHGDESC>sample of most elements we use. style/placement</CHGDESC>
<TITLE><SBNBR>sbnbr</SBNBR><REVST><SBNBR>sbnbr</SBNBR><REVEND>Task title</TITLE>
<WARNING>
<PARA>WARNING</PARA>
</WARNING>
<CAUTION>
<PARA>CAUTION</PARA>
</CAUTION>
<NOTE>
<PARA>para</PARA>
</NOTE>
<TFMATR>
<TPREREQ>
<TITLE>General</TITLE>
<PARA>General statement about the task</PARA>
</TPREREQ>
<TPREREQ>
<TITLE>Materials </TITLE>
<LIST1>
<L1ITEM>
<PARA><NCON>ncon</NCON></PARA>
</L1ITEM>
<L1ITEM>
<PARA><NCON>ncon</NCON></PARA>
</L1ITEM>
</LIST1>
</TPREREQ>
<TPREREQ>
<TITLE>Consumable Materials</TITLE>
<LIST1 CONT="0">
<L1ITEM CONT="0">
<PARA><CON><CONNBR> </CONNBR><CONNAME>conname </CONNAME></CON></PARA>
</L1ITEM>
<L1ITEM CONT="0">
<PARA><CON><CONNBR> </CONNBR><CONNAME>conname</CONNAME></CON></PARA>
</L1ITEM>
<L1ITEM CONT="0">
<PARA>l1item</PARA>
<NUMLIST>
<NUMLITEM>
<PARA>numlitem - normally not used here but need to account for</PARA>
</NUMLITEM>
<NUMLITEM>
<PARA>numlitem - normally not used here but need to account for</PARA>
</NUMLITEM>
</NUMLIST>
</L1ITEM>
</LIST1>
</TPREREQ>
<TPREREQ>
<TITLE>Expendable Parts</TITLE>
<TABLE FRAME="all"
ID="EMexpd"
PGWIDE="1">
<TGROUP COLS="6"
COLSEP="1"
ROWSEP="1">
<COLSPEC ALIGN="center"
COLNAME="COLSPEC5"
COLWIDTH="0.56in">
<COLSPEC ALIGN="center"
CHAR=""
CHAROFF="50"
COLNAME="COLSPEC0"
COLWIDTH="0.9in">
<COLSPEC ALIGN="center"
CHAR=""
CHAROFF="50"
COLNAME="COLSPEC1"
COLWIDTH="3.08in">
<COLSPEC ALIGN="center"
CHAR=""
CHAROFF="50"
COLNAME="COLSPEC2"
COLWIDTH="0.94in">
<COLSPEC ALIGN="center"
CHAR=""
CHAROFF="50"
COLNAME="COLSPEC3"
COLWIDTH="0.56in">
<COLSPEC ALIGN="center"
CHAR=""
CHAROFF="50"
COLNAME="COLSPEC4"
COLWIDTH="0.56in">
<THEAD>
<ROW>
<ENTRY ALIGN="center"
NAMEEND="COLSPEC0"
NAMEST="COLSPEC5">
<PARA>EM</PARA>
</ENTRY>
<ENTRY ALIGN="center"
ROWSEP="0">
</ENTRY>
<ENTRY ALIGN="center"
NAMEEND="COLSPEC4"
NAMEST="COLSPEC2">
<PARA>IPC</PARA>
</ENTRY>
</ROW>
<ROW>
<ENTRY ALIGN="center"
COLSEP="0">
<PARA>FIG</PARA>
</ENTRY>
<ENTRY ALIGN="center">
<PARA>ITEM</PARA>
</ENTRY>
<ENTRY ALIGN="center"
ROWSEP="1">
<PARA>NAME</PARA>
</ENTRY>
<ENTRY ALIGN="center"
COLSEP="0">
<PARA>SUBJECT</PARA>
</ENTRY>
<ENTRY ALIGN="center"
COLSEP="0">
<PARA>FIG</PARA>
</ENTRY>
<ENTRY ALIGN="center">
<PARA>ITEM</PARA>
</ENTRY>
</ROW>
</THEAD>
<TBODY>
<ROW>
<ENTRY ALIGN="center"
COLSEP="0"
ROWSEP="0">
<PARA> 401</PARA>
</ENTRY>
<ENTRY ALIGN="center"
ROWSEP="0">
<PARA>10</PARA>
</ENTRY>
<ENTRY ALIGN="left"
ROWSEP="0">
<PARA>O-ring</PARA>
</ENTRY>
<ENTRY ALIGN="center"
COLSEP="0"
ROWSEP="0">
<PARA>99-31-10</PARA>
</ENTRY>
<ENTRY ALIGN="center"
COLSEP="0"
ROWSEP="0">
<PARA>5</PARA>
</ENTRY>
<ENTRY ALIGN="center"
ROWSEP="0">
<PARA>110</PARA>
</ENTRY>
</ROW>
</TBODY>
</TGROUP>
</TABLE>
</TPREREQ>
<TPREREQ>
<TITLE>Standard Tools and Equipment</TITLE>
<LIST1 CONT="0">
<L1ITEM>
<PARA><STD><STDNBR></STDNBR><STDNAME>stdname</STDNAME></STD></PARA>
<UNLIST>
<UNLITEM>
<PARA>unlitem</PARA>
</UNLITEM>
<UNLITEM>
<PARA>unlitem</PARA>
</UNLITEM>
</UNLIST>
</L1ITEM>
</LIST1>
</TPREREQ>
<TPREREQ>
<TITLE>Special Tools and Equipment </TITLE>
<LIST1>
<L1ITEM>
<PARA><TED><TOOLNBR></TOOLNBR><TOOLNAME>toolname</TOOLNAME></TED></PARA>
</L1ITEM>
<L1ITEM>
<PARA><TED><TOOLNBR></TOOLNBR><TOOLNAME>toolname</TOOLNAME></TED></PARA>
</L1ITEM>
</LIST1>
</TPREREQ>
<TPREREQ>
<TITLE>References </TITLE>
<LIST1 CONT="0">
<L1ITEM CONT="0">
<PARA>l1item</PARA>
</L1ITEM>
<L1ITEM CONT="0">
<PARA>l1item</PARA>
</L1ITEM>
</LIST1>
</TPREREQ>
</TFMATR>
<TASKPROC>
<TITLE>Job Set-Up</TITLE>
<SUBTASK CHAPNBR="99"
FUNC="860"
PGBLKNBR="401"
SECTNBR="31"
SEQ="002"
SUBJNBR="10">
<TITLE>Subtask title</TITLE>
<LIST2 CONT="0">
<L2ITEM CONT="0">
<PARA>l2item - must always have atleast one step in a subtask</PARA>
</L2ITEM>
</LIST2>
</SUBTASK>
</TASKPROC>
<TASKPROC>
<TITLE>Procedure</TITLE>
<REVST>
<SUBTASK CHAPNBR="99"
FUNC="420"
PGBLKNBR="401"
SECTNBR="31"
SEQ="001"
SUBJNBR="10">
<REVEND>
<TITLE><SBNBR>sbnbr</SBNBR>Subtask Title</TITLE>
<GRPHCREF SHOWNOW="0">grphcref - used to reference graphics</GRPHCREF>
<GRPHCREF SHOWNOW="0">grphcref - used to reference graphics</GRPHCREF>
<REFINT>refint - used to reference tables</REFINT>
<REVST>
<REFINT>refint - used to reference tables</REFINT>
<REVEND>
<WARNING>
<PARA>THIS IS A WARNING</PARA>
</WARNING>
<CAUTION>
<PARA>THIS IS A CAUTION</PARA>
</CAUTION>
<LIST2 CONT="0">
<L2ITEM CONT="0">
<PARA>this is a l2item</PARA>
</L2ITEM>
<L2ITEM CONT="0">
<PARA>this is a l2item </PARA>
<NOTE>
<PARA>this is a note</PARA>
</NOTE>
<LIST3>
<L3ITEM>
<WARNING>
<PARA>THIS IS A WARNING</PARA>
</WARNING>
<CAUTION>
<PARA>THIS IS A CAUTION</PARA>
</CAUTION>
<PARA>this is <REVST>a l3item<REVEND></PARA>
</L3ITEM>
<L3ITEM>
<PARA>this is a l3item</PARA>
<NOTE>
<PARA>this is a note</PARA>
</NOTE>
<LIST4>
<L4ITEM>
<WARNING>
<PARA>THIS IS A WARNING</PARA>
</WARNING>
<CAUTION>
<PARA>THIS IS A CAUTION</PARA>
</CAUTION>
<PARA>this is a l4item </PARA>
<NOTE>
<PARA>this is a note</PARA>
</NOTE>
</L4ITEM>
<L4ITEM>
<PARA>this is a l4item </PARA>
<UNLIST>
<UNLITEM>
<PARA>unlitem</PARA>
</UNLITEM>
<UNLITEM>
<PARA>unlitem</PARA>
</UNLITEM>
</UNLIST>
<LIST5>
<L5ITEM>
<WARNING>
<PARA>THIS IS A WARNING</PARA>
</WARNING>
<CAUTION>
<PARA>THIS IS A CAUTION</PARA>
</CAUTION>
<PARA>this is a l5item </PARA>
</L5ITEM>
<L5ITEM>
<PARA>this is a l5item </PARA>
<NOTE>
<PARA>this is a note</PARA>
</NOTE>
<LIST6>
<L6ITEM>
<WARNING>
<PARA>THIS IS A WARNING</PARA>
</WARNING>
<REVST>
<CAUTION>
<PARA>THIS IS A CAUTION</PARA>
</CAUTION>
<REVEND>
<PARA>this is a l6item </PARA>
</L6ITEM>
<L6ITEM>
<PARA>this is a l6item </PARA>
<NOTE>
<PARA>this is a note</PARA>
</NOTE>
<LIST7>
<L7ITEM>
<WARNING>
<PARA>THIS IS A WARNING</PARA>
</WARNING>
<CAUTION>
<PARA>THIS IS A CAUTION</PARA>
</CAUTION>
<PARA><REVST>this is a l7item this is a l7item this is a l7item this is a l7item this is a l7item this is a l7item this is a l7item this is a l7item this is a l7item this is a l7item this is a l7item <REVEND> </PARA>
</L7ITEM>
<L7ITEM>
<PARA>this is a l7item </PARA>
<NOTE>
<PARA>this is a note</PARA>
</NOTE>
</L7ITEM>
</LIST7>
</L6ITEM>
</LIST6>
</L5ITEM>
</LIST5>
</L4ITEM>
</LIST4>
</L3ITEM>
</LIST3>
</L2ITEM>
<L2ITEM>
<PARA>l2item/para</PARA>
<PARA>para</PARA>
</L2ITEM>
<L2ITEM>
<PARAX><SBNBR>this is a sbnbr inside of l2item/parax. parax disables numering. </SBNBR></PARAX>
</L2ITEM>
<L2ITEM>
<PARA>l2item/para </PARA>
<LIST3>
<REVST>
<L3ITEM>
<PARAX><SBNBR>this is a sbnbr inside of parax. parax disables numering.</SBNBR></PARAX>
</L3ITEM>
<L3ITEM>
<PARA>l3item/para </PARA>
</L3ITEM>
<L3ITEM>
<PARA>l3item/para </PARA>
</L3ITEM>
<REVEND>
<L3ITEM>
<PARAX><SBNBR>this is a sbnbr inside of parax. parax disables numering. </SBNBR></PARAX>
</L3ITEM>
<L3ITEM>
<PARA>l3item/para </PARA>
<TABLE FRAME="all"
ID="tableskel">
<TITLE>table title</TITLE>
<TGROUP COLS="3"
COLSEP="1"
ROWSEP="1">
<COLSPEC COLNAME="COLSPEC2"
COLWIDTH="2.5in">
<COLSPEC ALIGN="left"
CHAR=""
CHAROFF="50"
COLNAME="COLSPEC0"
COLWIDTH="0.9in">
<COLSPEC ALIGN="left"
CHAR=""
CHAROFF="50"
COLNAME="COLSPEC1"
COLWIDTH="1.50in">
<THEAD>
<ROW>
<ENTRY>
<PARA>para</PARA>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
</ROW>
</THEAD>
<TBODY>
<ROW>
<ENTRY>
<UNLIST>
<UNLITEM>
<PARA>unlitem/para</PARA>
</UNLITEM>
</UNLIST>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
</ROW>
<ROW>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
</ROW>
</TBODY>
</TGROUP>
</TABLE>
<TABLE FRAME="all"
ID="tableskel"
PGWIDE="1">
<TITLE>table title</TITLE>
<TGROUP COLS="3"
COLSEP="1"
ROWSEP="1">
<COLSPEC COLNAME="COLSPEC2"
COLWIDTH="2.5in">
<COLSPEC ALIGN="left"
CHAR=""
CHAROFF="50"
COLNAME="COLSPEC0"
COLWIDTH="0.9in">
<COLSPEC ALIGN="left"
CHAR=""
CHAROFF="50"
COLNAME="COLSPEC1"
COLWIDTH="2.50in">
<THEAD>
<REVEND>
<REVEND>
<ROW>
<ENTRY>
<REVST>
<PARA>this table will go to furthest left margin due to pgwide=1</PARA>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
<REVEND>
</ENTRY>
</ROW>
</THEAD>
<TBODY>
<ROW>
<ENTRY>
<UNLIST>
<UNLITEM>
<PARA>unlitem/para</PARA>
</UNLITEM>
</UNLIST>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
</ROW>
<ROW>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
</ROW>
</TBODY>
</TGROUP>
</TABLE>
</L3ITEM>
<L3ITEM>
<WARNING>
<PARA>THIS IS A WARNING</PARA>
</WARNING>
<CAUTION>
<PARA>THIS IS A CAUTION</PARA>
</CAUTION>
<PARA>l3item/para </PARA>
<NOTE>
<PARA>this is a note</PARA>
</NOTE>
<LIST4>
<L4ITEM>
<PARAX><SBNBR>parax/sbnbr</SBNBR></PARAX>
<LIST5>
<L5ITEM>
<PARA>l5item/para</PARA>
</L5ITEM>
<L5ITEM>
<PARAX><GRPHCREF>parax/<REVST>grph<REVEND>cref</GRPHCREF></PARAX>
</L5ITEM>
<L5ITEM>
<PARA>l5item/para </PARA>
</L5ITEM>
</LIST5>
</L4ITEM>
</LIST4>
</L3ITEM>
</LIST3>
</L2ITEM>
<L2ITEM>
<PARA></PARA>
</L2ITEM>
</LIST2>
</SUBTASK>
</TASKPROC>
<TASKPROC>
<TITLE>Job Close-Up</TITLE>
<SUBTASK CHAPNBR="99"
CONFLTR="A"
FUNC="860"
PGBLKNBR="401"
SECTNBR="31"
SEQ="003"
SUBJNBR="10"
VARNBR="01">
<TITLE>this subtask has a config. confltr and varnbr are populated</TITLE>
<LIST2 CONT="0">
<L2ITEM CONT="0">
<PARA>l2item/para</PARA>
<UNLIST>
<UNLITEM>
<PARA>unlitem/para</PARA>
</UNLITEM>
<UNLITEM>
<PARA>unlitem/para</PARA>
</UNLITEM>
</UNLIST>
</L2ITEM>
<L2ITEM>
<TABLE COLSEP="1"
FRAME="topbot"
ID="tableskel"
PGWIDE="0"
ROWSEP="1">
<TITLE>table title</TITLE>
<TGROUP COLS="3"
COLSEP="1"
ROWSEP="1">
<COLSPEC COLNAME="COLSPEC2"
COLWIDTH="2.5in">
<COLSPEC ALIGN="left"
CHAR=""
CHAROFF="50"
COLNAME="COLSPEC0"
COLSEP="0"
COLWIDTH="0.9in">
<COLSPEC ALIGN="left"
CHAR=""
CHAROFF="50"
COLNAME="COLSPEC1"
COLWIDTH="2.50in">
<THEAD>
<ROW>
<ENTRY>
<PARA>para</PARA>
</ENTRY>
<ENTRY>
<PARA>colsep=0 removes line</PARA>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
</ROW>
</THEAD>
<TBODY>
<ROW>
<ENTRY>
<UNLIST>
<UNLITEM>
<PARA>unlitem/para</PARA>
</UNLITEM>
</UNLIST>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
</ROW>
<ROW>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
</ROW>
</TBODY>
</TGROUP>
</TABLE>
<TABLE COLSEP="1"
FRAME="none"
ID="tableskel"
PGWIDE="0"
ROWSEP="1">
<TITLE>table title</TITLE>
<TGROUP COLS="3"
COLSEP="1"
ROWSEP="1">
<COLSPEC COLNAME="COLSPEC2"
COLWIDTH="2.5in">
<COLSPEC ALIGN="left"
CHAR=""
CHAROFF="50"
COLNAME="COLSPEC0"
COLWIDTH="0.9in">
<COLSPEC ALIGN="left"
CHAR=""
CHAROFF="50"
COLNAME="COLSPEC1"
COLWIDTH="2.50in">
<TBODY>
<ROW>
<ENTRY COLNAME="COLSPEC2">
<PARA>para</PARA>
</ENTRY>
<ENTRY COLNAME="COLSPEC0">
<PARA>para </PARA>
</ENTRY>
<ENTRY COLNAME="COLSPEC1">
<PARA>para </PARA>
</ENTRY>
</ROW>
<ROW>
<ENTRY ROWSEP="0">
<UNLIST>
<UNLITEM>
<PARA>unlitem/para</PARA>
</UNLITEM>
</UNLIST>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
<ENTRY ROWSEP="0">
<PARA>rowsep=0 removes line</PARA>
</ENTRY>
</ROW>
<ROW>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
<ENTRY>
<PARA>para </PARA>
</ENTRY>
</ROW>
</TBODY>
</TGROUP>
</TABLE>
</L2ITEM>
<L2ITEM CONT="0">
<PARA>l2item/para </PARA>
<NUMLIST>
<NUMLITEM>
<PARA>numlist - not generally used</PARA>
</NUMLITEM>
<NUMLITEM>
<PARA>numlist - not generally used </PARA>
</NUMLITEM>
</NUMLIST>
</L2ITEM>
</LIST2>
</SUBTASK>
</TASKPROC>
<GRAPHIC CHAPNBR="99"
FUNC="990"
PGBLKNBR="401"
SECTNBR="31"
SEQ="802"
SUBJNBR="10">
<SHEET GNBR="ii00000000"
SHEETNBR="01">
<GDESC>
<PARA>figure title</PARA>
<PARA>figure number</PARA>
<PARA>reference to ipc figure if needed</PARA>
</GDESC>
</SHEET>
</GRAPHIC>
<GRAPHIC CHAPNBR="99"
FUNC="990"
PGBLKNBR="401"
SECTNBR="31"
SEQ="002"
SUBJNBR="10">
<EFFECT EFFTEXT="model effect if not same as task">
</EFFECT>
<SHEET GNBR="ii00000001"
SHEETNBR="01">
<GDESC>
<REVST>
<PARA>fig title</PARA>
<REVEND>
<PARA>fig number</PARA>
</GDESC>
</SHEET>
</GRAPHIC>
<GRAPHIC CHAPNBR="99"
FUNC="990"
PGBLKNBR="401"
SECTNBR="31"
SEQ="003"
SUBJNBR="10">
<EFFECT>
<SBEFF EFFTEXT="service bulletin nbr">
<REVST>
<SBEFF EFFTEXT="sb">
<REVEND>
<SBEFF EFFTEXT="sb">
</EFFECT>
<SHEET GNBR="ii00000002"
SHEETNBR="01">
<GDESC>
<PARA>fig title</PARA>
<PARA>fig number</PARA>
</GDESC>
</SHEET>
</GRAPHIC>
<REVST>
<GRAPHIC CHAPNBR="99"
FUNC="990"
PGBLKNBR="401"
SECTNBR="31"
SEQ="004"
SUBJNBR="10">
<EFFECT EFFTEXT="The next grphc will be same">
</EFFECT>
<SHEET GNBR="ii00000003"
SHEETNBR="01">
<REVEND>
<GDESC>
<PARA>fig title</PARA>
<PARA>fig number</PARA>
</GDESC>
</SHEET>
</GRAPHIC>
<GRAPHIC CHAPNBR="99"
FUNC="990"
PGBLKNBR="401"
SECTNBR="31"
SEQ="004"
SUBJNBR="10">
<SHEET GNBR="ii00000004"
SHEETNBR="01">
<GDESC>
<PARA>fig title</PARA>
<PARA>fig number</PARA>
</GDESC>
</SHEET>
</GRAPHIC>
</TASK>
</PGBLK>
</SUBJECT>
</SECTION>
</CHAPTER>
</EM>

Hi.

I extracted a segment from your long example and augmented it so that you can see how this can cross line boundaries:

#!/usr/bin/perl

# @(#) p1       Demonstrate pattern match across line boundaries, slurp.

use warnings;
use strict;

my($debug);
$debug = 0;
$debug = 1;

my($f) = slurp();
print " Input file:\n", $f;

print "\n Results:\n";
print "$1\n" while $f=~ m{
        <CAUTION>
        .*?
        <PARA>
        (.*?)
        </PARA>
        .*?
        </CAUTION>
        }gxms;

sub slurp {
        # Best practices, p213 for a file.
        my $scalar = do { local $/; <> };
        return $scalar;
}

exit(0);

Producing:

% ./p1 data2
 Input file:
<WARNING>
<PARA>THIS IS A WARNING</PARA>
</WARNING>
<CAUTION>
<PARA>
THIS IS A CAUTION
this is on a separate line
as is this
and this one, too
</PARA>
</CAUTION>
<LIST2 CONT="0">
<L2ITEM CONT="0">
<PARA>this is a l2item</PARA>
</L2ITEM>

 Results:

THIS IS A CAUTION
this is on a separate line
as is this
and this one, too

You didn't post anything about the the form of the desired output, so this is what my fingers keyed in.

This is one idea and I will leave it to you to finish up. If you are not on friendly terms with perl, someone will probably stop in with an alternate solution ... cheers, drl

I don't have perl on the server where the data is located, but I can easily move data to another server where perl is available. I will give this a try and report back. :slight_smile: I apologize for the long example file.