Sponsored Content
Top Forums Shell Programming and Scripting Help in printing n number of lines if a search string matches in a file Post 302788805 by neha0785 on Tuesday 2nd of April 2013 01:49:55 PM
Old 04-02-2013
Help in printing n number of lines if a search string matches in a file

Hi
I have below script which is used to grep specific errors and if error string matches send an email alert.
Script is working fine , however , i wish to print next 10 lines of the string match to get the details of error in the email alert

Current code:-

Code:
#!/bin/bash
tail -Fn0 --retry /tmp/error.log | \
while read line ; do
        echo "$line" | egrep "java.lang.NullPointerException|java.lang.IllegalStateException|java.sql.SQLException"
        if [[ $? = 0 ]] ;
        then
HOSTNAME=abc.com
               SUBJECT="Error in "$HOSTNAME" Reported"
MESSAGE="/tmp/message.txt"
               TO="name@xyz.com"
echo "$line" > $MESSAGE
                /bin/mail -s "$SUBJECT" "$TO" < $MESSAGE
fi
done

Appreciate any inputs.
I wish to keep the changes to code as minimal as possible.

Last edited by Scrutinizer; 04-02-2013 at 03:39 PM.. Reason: code tags
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

question about printing number of lines in a file

as the title, I had try use "wc -l test.txt" but it give me "<many spaces> 384 test.txt" but the result I want is just "384" could any person can help me that? Thx:( (5 Replies)
Discussion started by: a8111978
5 Replies

2. Shell Programming and Scripting

Get line number when matches a string

If I have a file something like as shown below, ARM*187878*hjhj BAG*88778*jjjj COD*7777*kkkk BAG*87878*kjjhjk DEF*65656*89989*khjkk I need the line numbers to be added with a colon when it matches the string "BAG". Here in my case, I need something like ARM*187878*hjhj... (4 Replies)
Discussion started by: Muthuraj K
4 Replies

3. Shell Programming and Scripting

printing lines to a file from a particular string

Hi, A very Good Evening to All, I am writing a script for my application. I have a file with 1000 lines. Among that 1000 lines i am searching for a particular string. And from that string i need to pull all the data in to a seperate file. For example the contents of my file is as below. ... (4 Replies)
Discussion started by: intiraju
4 Replies

4. Shell Programming and Scripting

Printing 10 lines above and below the search string: help needed

Hi, The below code will search a particular string(say false in this case) and return me 10 lines above and below the search string in a file. " awk 'c-->0;$0~s{if(b)for(c=b+1;c>1;c--)print r;print("***********************************");print;c=a;}b{r=$ 0}' b=10 a=10 s="false" " ... (5 Replies)
Discussion started by: vimalm22
5 Replies

5. Shell Programming and Scripting

search string in a file and retrieve 10 lines including string line

Hi Guys, I am trying to write a perl script to search a string "Name" in the file "FILE" and also want to create a new file and push the searched string Name line along with 10 lines following the same. can anyone of you please let me know how to go about it ? (8 Replies)
Discussion started by: sukrish
8 Replies

6. Shell Programming and Scripting

How to search number of occurrences of a particular string in a file through vi editor?

i have one file, i am doing 'vi Filename' now i want to search for particular string and i want to know how many times that string occurs in whole file (5 Replies)
Discussion started by: sheelsadan
5 Replies

7. Shell Programming and Scripting

How to Search string(which is in 2 lines) in a file?

Hello, I want to search 2 lines from the file. I wanted to display all such matches. Example file: ================== Testfile is test TEST1 TEST2 testing the file string to do testing TEST1 TEST2 sample strings ================= I wanted to search the file with 2 lines " TEST1... (3 Replies)
Discussion started by: balareddy
3 Replies

8. Shell Programming and Scripting

Required 3 lines above the file and below file when string matches

i had requirement like i need to get "error" line of above 3 and below 3 from a file .I tried with the below script.But it's not working. y='grep -n -i error /home/file.txt|cut -c1' echo $y head -$y /home/file.txt| tail -3 >tmp.txt tail -$y /home/file.txt head -3 >>tmp.txt (4 Replies)
Discussion started by: bhas85
4 Replies

9. Shell Programming and Scripting

Replace all string matches in file with unique random number

Hello Take this file... Test01 Ref test Version 01 Test02 Ref test Version 02 Test66 Ref test Version 66 Test99 Ref test Version 99 I want to substitute every occurrence of Test{2} with a unique random number, so for example, if I was using sed, substitution would be something... (1 Reply)
Discussion started by: funkman
1 Replies
Jifty::Notification(3pm)				User Contributed Perl Documentation				  Jifty::Notification(3pm)

NAME
Jifty::Notification - Send emails from Jifty USAGE
It is recommended that you subclass Jifty::Notification and override "body", "html_body", "subject", "recipients", and "from" for each message. (You may want a base class to provide "from", "preface" and "footer" for example.) This lets you keep all of your notifications in the same place. However, if you really want to make a notification type in code without subclassing, you can create a "Jifty::Notification" and call the "set_body", "set_subject", and so on methods on it. METHODS
new [KEY1 => VAL1, ...] Creates a new Jifty::Notification. Any keyword args given are used to call set accessors of the same name. Then it calls "setup". setup Your subclass should override this to set the various field values. send_one_message Delivers the notification, using the Email::Send mailer defined in the "Mailer" and "MailerArgs" configuration arguments. Returns true if mail was actually sent. Note errors are not the only cause of mail not being sent -- for example, the recipients list could be empty. If you wish to send HTML mail, set "html_body". If this is not set (for backwards compatibility) a plain-text email is sent. If "html_body" and "body" are both set, a multipart mail is sent. See Email::MIME::CreateHTML for how this is done. Be aware that if you haven't set "recipients", this will fail silently and return without doing anything useful. set_headers MESSAGE Takes a Email::MIME object "MESSAGE", and modifies it as necessary before sending it out. As the method name implies, this is usually used to add or modify headers. By default, does nothing; this method is meant to be overridden. body [BODY] Gets or sets the body of the notification, as a string. subject [SUBJECT] Gets or sets the subject of the notification, as a string. from [FROM] Gets or sets the from address of the notification, as a string. recipients [RECIPIENT, ...] Gets or sets the addresses of the recipients of the notification, as a list of strings (not a reference). email_from OBJECT Returns the email address from the given object. This defaults to calling an 'email' method on the object. This method will be called by "send" to get email addresses (for "to") out of the list of "recipients". to_list [OBJECT, OBJECT...] Gets or sets the list of objects that the message will be sent to. Each one is sent a separate copy of the email. If passed no parameters, returns the objects that have been set. This also suppresses duplicates. send Sends an individual email to every user in "to_list"; it does this by setting "to" and "recipient" to the first user in "to_list" calling Jifty::Notification's "send" method, and progressing down the list. Additionally, if "to" was set elsewhere, sends an email to that person, as well. to Of the list of users that "to" provided, returns the one which mail is currently being sent to. This is set by the "send" method, such that it is available to all of the methods that Jifty::Notification's "send" method calls. preface Print a header for the message. You want to override this to print a message. Returns the message as a scalar. footer Print a footer for the message. You want to override this to print a message. Returns the message as a scalar. full_body The main, plain-text part of the message. This is the preface, body, and footer joined by newlines. full_html Same as full_body, but with HTML. parts The parts of the message. You want to override this if you want to send multi-part mail. By default, this method returns a single part consisting of the result of calling "$self->full_body". Returns the parts as an array reference. magic_letme_token_for PATH Returns a Jifty::LetMe token which allows the current user to access a path on the site. perl v5.14.2 2011-01-26 Jifty::Notification(3pm)
All times are GMT -4. The time now is 06:25 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy