Searching a pattern in a file.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Searching a pattern in a file.
# 1  
Old 04-09-2010
Searching a pattern in a file.

Hi Guys,

I am writing a shell script to extract only the error message from a log file.

I am having difficulty in searching the highlighted text in the below code.



Code:
<runtimeinfo datetime="Sun Apr 04 20:02:52 EDT 2008" docid="" source="RAWDATA" event="ERROR" xceError="com.lxnx.fab.ce.xce.tools.XCEValidateException:
com.lxnx.fab.ce.xce.tools.XCEValidateException: validateXML(): Data is not well formed. org.xml.sax.SAXParseException: The element type p must be terminated by the matching end-tag &amp;lt;/p&amp;gt;."/>
</message>

<runtimeinfo datetime="Sun Apr 04 20:03:01 EDT 2008" docid="" source="DOC" event="ERROR" xceError="com.lxnx.fab.ce.xce.tools.XCEDocConversionException
: TransformEngine Raw data validation Exception: com.lxnx.fab.ce.xce.tools.XCEValidateException: com.lxnx.fab.ce.xce.tools.XCEValidateException:
::::1:411:410:The content of element type p must match (br|table|a|b|i) ."/>
</message>

  <runtimeinfo datetime="Thu Apr 08 06:08:04 EDT 2008" docid="" source="RAWDATA" event="ERROR" xceError="com.lxnx.fab.ce.xce.tools.XCEValidateException: com.lxnx.fab.ce.xce.tools.XCEValidateException: 
::::1:2307:2306:Element type tbody must be declared.
::::1:2595:2594:The content of element type table must match (nl).
::::1:3555:3554:Element type tbody must be declared.
::::1:3843:3842:The content of element type table must match (nl).
::::1:8456:8455:Element type tbody must be declared.
::::1:8744:8743:The content of element type table must match (nl)."/>
</message>

Please suggest some solution.

Thanks in Advance

Last edited by vgersh99; 04-09-2010 at 08:57 AM.. Reason: code tags, please!
# 2  
Old 04-09-2010
Is that XML-like message tag suppose to be in one line or it will span over a few lines

If it will span over a few lines, do you also want to display the complete XML-like tag

You need to specific on this
# 3  
Old 04-09-2010
Quote:
Originally Posted by prash1986
...
I am writing a shell script to extract only the error message from a log file.

I am having difficulty in searching the highlighted text in the below code.

Code:
<runtimeinfo datetime="Sun Apr 04 20:02:52 EDT 2008" docid="" source="RAWDATA" event="ERROR" xceError="com.lxnx.fab.ce.xce.tools.XCEValidateException:
com.lxnx.fab.ce.xce.tools.XCEValidateException: validateXML(): Data is not well formed. org.xml.sax.SAXParseException: The element type p must be terminated by the matching end-tag &amp;lt;/p&amp;gt;."/>
</message>
 
<runtimeinfo datetime="Sun Apr 04 20:03:01 EDT 2008" docid="" source="DOC" event="ERROR" xceError="com.lxnx.fab.ce.xce.tools.XCEDocConversionException
: TransformEngine Raw data validation Exception: com.lxnx.fab.ce.xce.tools.XCEValidateException: com.lxnx.fab.ce.xce.tools.XCEValidateException:
::::1:411:410:The content of element type p must match (br|table|a|b|i) ."/>
</message>
 
  <runtimeinfo datetime="Thu Apr 08 06:08:04 EDT 2008" docid="" source="RAWDATA" event="ERROR" xceError="com.lxnx.fab.ce.xce.tools.XCEValidateException: com.lxnx.fab.ce.xce.tools.XCEValidateException: 
::::1:2307:2306:Element type tbody must be declared.
::::1:2595:2594:The content of element type table must match (nl).
::::1:3555:3554:Element type tbody must be declared.
::::1:3843:3842:The content of element type table must match (nl).
::::1:8456:8455:Element type tbody must be declared.
::::1:8744:8743:The content of element type table must match (nl)."/>
</message>

Please suggest some solution.

...
Here's one way to do it with Perl -

Code:
$
$
$ cat -n f5
     1  <runtimeinfo datetime="Sun Apr 04 20:02:52 EDT 2008" docid="" source="RAWDATA" event="ERROR" xceError="com.lxnx.fab.ce.xce.tools.XCEValidateException:
     2  com.lxnx.fab.ce.xce.tools.XCEValidateException: validateXML(): Data is not well formed. org.xml.sax.SAXParseException: The element type p must be terminated by the matching end-tag &amp;lt;/p&amp;gt;."/>
     3  </message>
     4
     5  <runtimeinfo datetime="Sun Apr 04 20:03:01 EDT 2008" docid="" source="DOC" event="ERROR" xceError="com.lxnx.fab.ce.xce.tools.XCEDocConversionException
     6  : TransformEngine Raw data validation Exception: com.lxnx.fab.ce.xce.tools.XCEValidateException: com.lxnx.fab.ce.xce.tools.XCEValidateException:
     7  ::::1:411:410:The content of element type p must match (br|table|a|b|i) ."/>
     8  </message>
     9
    10  <runtimeinfo datetime="Thu Apr 08 06:08:04 EDT 2008" docid="" source="RAWDATA" event="ERROR" xceError="com.lxnx.fab.ce.xce.tools.XCEValidateException: com.lxnx.fab.ce.xce.tools.XCEValidateException:
    11  ::::1:2307:2306:Element type tbody must be declared.
    12  ::::1:2595:2594:The content of element type table must match (nl).
    13  ::::1:3555:3554:Element type tbody must be declared.
    14  ::::1:3843:3842:The content of element type table must match (nl).
    15  ::::1:8456:8455:Element type tbody must be declared.
    16  ::::1:8744:8743:The content of element type table must match (nl)."/>
    17  </message>
$
$
$ perl -lne 'BEGIN{$/=""} while(/^<runtimeinfo.*Exception:[ \n:\d]+(.*)."\/>.*$/msg){print "\n==== Exception Message No. ",$i++," ====\n",$1}' f5

==== Exception Message No. 0 ====
The element type p must be terminated by the matching end-tag &amp;lt;/p&amp;gt;

==== Exception Message No. 1 ====
The content of element type p must match (br|table|a|b|i)

==== Exception Message No. 2 ====
Element type tbody must be declared.
::::1:2595:2594:The content of element type table must match (nl).
::::1:3555:3554:Element type tbody must be declared.
::::1:3843:3842:The content of element type table must match (nl).
::::1:8456:8455:Element type tbody must be declared.
::::1:8744:8743:The content of element type table must match (nl)
$
$

HTH,
tyler_durden
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Searching the file of below pattern through perl script from different location

Hi All, I am creating a small per script but I am getting the error "Unable to open file because No such file or directory".My code is below.I am trying to go into the below location so using chdir and then seraching the log files of below pattern. #!/usr/bin/perl -w chdir... (3 Replies)
Discussion started by: anuragpgtgerman
3 Replies

2. UNIX for Dummies Questions & Answers

Searching for a pattern from filenames stored in a file

Hi, I have got some 10 filenames stored in a file or displayed in the console as a result of some query i made.. Now I need to open each of these files and search for a pattern in these 10 files.. Can someone help me with this? Thanks, Jean (9 Replies)
Discussion started by: jeanjkj
9 Replies

3. Shell Programming and Scripting

Remove the footer from a flat file by searching a pattern

Hi, I have more than 30,000 records in a flat file. I want to remove footer from the file by searching a string pattern for the footer. Example.... let the flat file test.dat contains below records. record1 record2 record3 .. .. .. record31000 Total records 31000 I want to remove the... (6 Replies)
Discussion started by: gani_85
6 Replies

4. Shell Programming and Scripting

Searching for a pattern in a file...

The problem is similar to my yesterday post I Would like an awk script that does the following: I have a file (f1) that contains 1 2 3 4 5and another one (f2) that contains 8|a 9|b 0|c 1|d 2|e 3|f 4|g 5|h 6|i 7|jAnd I'd like to get this: 1|d 2|e 3|f 4|g (5 Replies)
Discussion started by: tukuyomi
5 Replies

5. UNIX for Dummies Questions & Answers

Searching the date pattern in a file

Hi, I would like to search the pattern based on the date like "2010/08/15". I tried using / in the file giving /<<pattern>>. when i tried this it turns to /2010/+8, but not going to the pattern what ever i want. This is how the data in the file. INFO | jvm 1 | 2010/05/26 13:30:33... (5 Replies)
Discussion started by: venkatesht
5 Replies

6. Shell Programming and Scripting

Searching a pattern in file and deleting th ewhole line containing the pattern

Hi All, Please can someone assist in the script I have made that searches a pattern in a file and delete the whole line containing the pattern. #!bin/sh # The pattern that user want to add to the files echo "Enter the pattern of the redirect" read value # check if the user has... (1 Reply)
Discussion started by: Shazin
1 Replies

7. Shell Programming and Scripting

Searching words in a file containing a pattern

Hi all, I would like to print words in a file seperated by whitespaces containing a specific pattern like "=" e.g. I have a file1 containing strings like %cat file1 The= some= in wish= born <eof> .I want to display only those words containing = i.e The= , some=,wish= ... (5 Replies)
Discussion started by: sree_123
5 Replies

8. UNIX for Advanced & Expert Users

searching one pattern in file and also counting

Hi, everybody this is my pattern in a file thomson, nicolas 5-3871 Wong, Fred 4-4123 Jones, Thomas 1-4122 Salazar, Richard 5-2522 first name and last names of people fallowed by Tele. while i am searching for pattern first name begin with 'S'... (8 Replies)
Discussion started by: ksr.test
8 Replies

9. Shell Programming and Scripting

searching pattern in another file and print

Suppose u have a file 12 22 73 another file L22D SSS S12J LLL H77K PPP J25O LOP I73S lOP K99O PLO so output shud like S12J LLL L22D SSS I73S lOP Thanks (2 Replies)
Discussion started by: cdfd123
2 Replies

10. UNIX for Advanced & Expert Users

searching for a pattern in a file and forwarding result to another

Hi, I am trying to search through a file for a particular word, then once found, I want the search to carry on for another 30 lines and append all this to a new file. For example, I search for the word "test" in hello.txt: <--some code--> <--some code--> <--some code--> test <--some more... (7 Replies)
Discussion started by: ocelot
7 Replies
Login or Register to Ask a Question