![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here. |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Sysback Warnings | daveisme | AIX | 2 | 01-09-2008 07:50 AM |
| warnings @ system start & shutdown | chaandana | UNIX for Advanced & Expert Users | 1 | 07-02-2007 03:50 PM |
| CC 5.5 compiler flag to issue 64bit porting warnings on sparc-solaris | shobhah | SUN Solaris | 0 | 03-01-2007 11:47 PM |
| gcc warnings: implicit declaration of function... | Ahsan | High Level Programming | 2 | 08-29-2003 07:15 PM |
|
|
Submit Tools | LinkBack | Thread Tools | Display Modes |
|
#1
|
|||
|
|||
|
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.
|
| Forum Sponsor | ||
|
|
|
#2
|
|||
|
|||
|
Provide an example of your file please
|
|
#3
|
|||
|
|||
|
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> |
|
#4
|
||||
|
||||
|
Hi.
I extracted a segment from your long example and augmented it so that you can see how this can cross line boundaries: Code:
#!/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);
Code:
% ./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 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 |
|
#5
|
|||
|
|||
|
Thank you for the perl.....
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.
|
|||
| Google The UNIX and Linux Forums |