Continously grep a string between <resultmessage> which are not succesful


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Continously grep a string between <resultmessage> which are not succesful
# 1  
Old 07-01-2011
Continously grep a string between <resultmessage> which are not succesful

Hi Gurus,

I have XML log files which is continuously updated with resultmessage succesful and which are not successful. My intention is to grep the <resultMessage> which does not contain following success message and put it in a file.

<resultCode>0</resultCode>
<resultMessage>Successful</resultMessage>
<resultMessage>The operation was successful!</resultMessage>

Here is one example of unsuccessful message:

<resultCode>39021</resultCode>
<resultMessage>Inventory subsystem is null.</resultMessage>



I also would like to grep the 2nd line after the <resultMessage>. And i need to input the Timestemp including day/min/second

Realtime Searching (may be using tail command) for following resultmessage which doesn't containg successful message:

<resultCode>39021</resultCode>
<resultMessage>Inventory subsystem is null.</resultMessage>
</ResultOfOperationReply>
</createNewInventoryResponse>


An print and output to a file as following:

2011-06-21 13:54:15 <resultMessage>Inventory subsystem is null.</resultMessage>
</createNewInventoryResponse>

Last edited by thepurple; 07-01-2011 at 07:08 AM..
# 2  
Old 07-01-2011
check whether this prints the line or not

Code:
 
tail -f logfile | nawk ' /resultMessage/ { $0 !~ /successful/ {print $0;getline;getline;print $0 }}'

# 3  
Old 07-01-2011
Can you post few more sample lines of xml log file..?
# 4  
Old 07-01-2011
Quote:
Originally Posted by michaelrozar17
Can you post few more sample lines of xml log file..?

2011-06-21 13:54:15.313 | DEBUG | OSS | 1308654113778628004 | [-INTF-]com.oss.webservice.ecare.services.Boss4ECareInterfaceServiceSkeleton.createNewInventoryResponse
<ResultOfOperationReply>
<resultCode>39021</resultCode>
<resultMessage>The RUIM card information obtained from the Inventory subsystem is null.</resultMessage>
</ResultOfOperationReply>
</createNewInventoryResponse>
# 5  
Old 07-01-2011
Code:
 
tail -f logfile | nawk '/resultMessage/ && $0 !~ /Successful/ {print $0;getline;getline;print $0}'

---------- Post updated at 03:47 PM ---------- Previous update was at 03:46 PM ----------

if you use gawk, then you can prnit the time using the systime or strftime function

Last edited by itkamaraj; 07-01-2011 at 07:45 AM.. Reason: successful to Successful
# 6  
Old 07-01-2011
some tips if grep supports -A & -B option

Code:
tail -f <file name>> |grep -B1 -A2

grep -B1 can be used to get the time stamp from the logs (as displyed abpve) and -A2 to get the 2nd line after the unsucessful resultMessage
# 7  
Old 07-01-2011
Quote:
Originally Posted by itkamaraj
check whether this prints the line or not

Code:
 
tail -f logfile | nawk ' /resultMessage/ { $0 !~ /successful/ {print $0;getline;getline;print $0 }}'

above one also output successful resultmessage. But I want to exclude it<resultMessage>Successful</resultMessage>
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep a string and count following lines starting with another string

I have a large dataset with following structure; C 0001 Carbon D SAR001 methane D SAR002 ethane D SAR003 propane D SAR004 butane D SAR005 pentane C 0002 Hydrogen C 0003 Nitrogen C 0004 Oxygen D SAR011 ozone D SAR012 super oxide C 0005 Sulphur D SAR013... (3 Replies)
Discussion started by: Syeda Sumayya
3 Replies

2. Shell Programming and Scripting

Grep string in files and list file names that contain the string

Hi, I have a list of zipped files. I want to grep for a string in all files and get a list of file names that contain the string. But without unzipping them before that, more like using something like gzcat. My OS is: SunOS test 5.10 Generic_142900-13 sun4u sparc SUNW,SPARC-Enterprise (8 Replies)
Discussion started by: apenkov
8 Replies

3. Shell Programming and Scripting

grep exact string from files and write to filename when string present in file

I am attempting to grep an exact string from a series of files within a directory and append that output to the filename when it is present in the file. I've been after this all day with no luck. Thanks for your help in advance :wall:. (4 Replies)
Discussion started by: JC_1
4 Replies

4. Shell Programming and Scripting

Grep a string from input file and delete next three lines including the line contains string in xml

Hi, 1_strings file contains $ cat 1_strings /home/$USER/Src /home/Valid /home/Review$ cat myxml <projected value="some string" path="/home/$USER/Src"> <input 1/> <estimate value/> <somestring/> </projected> <few more lines > <projected value="some string" path="/home/$USER/check">... (4 Replies)
Discussion started by: greet_sed
4 Replies

5. Shell Programming and Scripting

Grep a string and write a value to next line of found string

Hi, I have two variables x and y. i need to find a particular string in a file, a workflow name and then insert the values of x and y into the next lines of the workflow name. basically it is like as below wf_xxxxxx $$a= $$b= $$c= figo $$d=bentley i need to grep the 'wf_xxxx' and then... (6 Replies)
Discussion started by: angel12345
6 Replies

6. Shell Programming and Scripting

grep on string and printing line after until another string has been found

Hello Everyone, I just started scripting this week. I have no background in programming or scripting. I'm working on a script to grep for a variable in a log file Heres what the log file looks like. The x's are all random clutter xxxxxxxxxxxxxxxxxxxxx START: xxxxxxxxxxxx... (7 Replies)
Discussion started by: rxc23816
7 Replies

7. Shell Programming and Scripting

Grep for a string and then grep using a string from that result

Hello, Thanks in advance for the query. There is a log file abcd.log which has multible line like this. "hello1" , "hello2", "hello3" , "hello4" , "hello5" I want to grep for the lines which has "hello4" & "hello5" and use "hello2" to grep the same log file again. All these should... (8 Replies)
Discussion started by: kzenthil
8 Replies

8. UNIX for Dummies Questions & Answers

| help | unix | grep - Can I use grep to return a string with exactly n matches?

Hello, I looking to use grep to return a string with exactly n matches. I'm building off this: ls -aLl /bin | grep '^.\{9\}x' | tr -s ' ' -rwxr-xr-x 1 root root 632816 Nov 25 2008 vi -rwxr-xr-x 1 root root 632816 Nov 25 2008 view -rwxr-xr-x 1 root root 16008 May 25 2008... (7 Replies)
Discussion started by: MykC
7 Replies

9. UNIX for Dummies Questions & Answers

Script should run continously

Hi I have a small req. I have a script called as abc.sh I want to execute this script continously for every 1 minute even if i exit from the server i.e., it should keeps on running for every one minute even if i logged off Can any one send me the sample code or procedure to work... (3 Replies)
Discussion started by: pssandeep
3 Replies

10. IP Networking

how do you get to know if the write operation was succesful.

how do you get to know if the write operation for writing to a socket was succesful was succesful. (3 Replies)
Discussion started by: arjunjag
3 Replies
Login or Register to Ask a Question