I want to copy strings that spans across multiple lines between two markers in a large file.
In the below example file, start marker is <ROW>
and end marker is </ROW>
.
<ROW>
<SOURCE>ANIMAL</SOURCE>
<QTY>1.00</QTY>
<UNIT_PRICE>123.75</UNIT_PRICE>
<NARRATIVE>DOG100</NARRATIVE>
<OUR_REFERENCE>BILLING</OUR_REFERENCE>
</ROW>
<ROW>
<SOURCE>ANIMAL</SOURCE>
<QTY>1.00</QTY>
<UNIT_PRICE>150.00</UNIT_PRICE>
<NARRATIVE>DOG200</NARRATIVE>
<OUR_REFERENCE>BILLING</OUR_REFERENCE>
</ROW>
<ROW>
<SOURCE>ANIMAL</SOURCE>
<QTY>1.00</QTY>
<UNIT_PRICE>170.00</UNIT_PRICE>
<NARRATIVE>CAT300</NARRATIVE>
<OUR_REFERENCE>BILLING</OUR_REFERENCE>
</ROW>
<ROW>
<SOURCE>BIRD</SOURCE>
<QTY>1.00</QTY>
<UNIT_PRICE>200.00</UNIT_PRICE>
<NARRATIVE>PARROT300</NARRATIVE>
<OUR_REFERENCE>BILLING</OUR_REFERENCE>
</ROW>
.
.
.
I want to search and copy the string between <ROW>
and </ROW>
(including) that matches the text DOG
Example output
<ROW>
<SOURCE>ANIMAL</SOURCE>
<QTY>1.00</QTY>
<UNIT_PRICE>123.75</UNIT_PRICE>
<NARRATIVE>DOG100</NARRATIVE>
<OUR_REFERENCE>BILLING</OUR_REFERENCE>
</ROW>
<ROW>
<SOURCE>ANIMAL</SOURCE>
<QTY>1.00</QTY>
<UNIT_PRICE>150.00</UNIT_PRICE>
<NARRATIVE>DOG200</NARRATIVE>
<OUR_REFERENCE>BILLING</OUR_REFERENCE>
</ROW>
How can I do this in gvim?