Copy subsequent contents of a file from first occurance of grep


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Copy subsequent contents of a file from first occurance of grep
# 1  
Old 03-04-2009
Copy subsequent contents of a file from first occurance of grep

There is a file which logs all errors and alerts of the database called alert log. I have a requirement as follows:

1. Check the current date and search for the first occurance of the current date in the alert log.

2. As soon as the first occurance is found, copy the subsequent contents (till the end of file) of the alert log (including the first occurance line) to a temporary file.

3. Then check for some errors for today.

How do I achieve the above? Smilie

TIA,

Regards,

Praveen
# 2  
Old 03-04-2009
what have you tried ..so far..

Could you share...

Thanks
Sha
# 3  
Old 03-04-2009
Why not just use the date command to build a string which matches the date format of your log file, and then grep for that?
# 4  
Old 03-05-2009
@Shawn, I can not grep the date command lines because errors and alerts in the alert log are written below the line which contains the date. Below is the sample alert log file.

Now, anything that has "ORA-" is usually an error and I want to capture that for today's date. Hence, I need to copy the subsequent contents of today's date's first occurance.

Suppose today is Mar 4 2009, then when the first occurance of the line occurs, I would like to copy the contents of the alert log from the first occurance line to the end to a temporary file and then search for any errors in that temporary file.

Code:
Tue Mar  3 22:23:37 2009
Completed checkpoint up to RBA [0x39a7.2.10], SCN: 10372821759272
Tue Mar  3 22:34:40 2009
Incremental checkpoint up to RBA [0x39a7.29021.0], current log tail at RBA [0x39a7.38f7e.0]
Tue Mar  3 22:54:44 2009
Incremental checkpoint up to RBA [0x39a7.7c0bc.0], current log tail at RBA [0x39a7.7edfc.0]
Tue Mar  3 23:14:48 2009
Incremental checkpoint up to RBA [0x39a7.acb35.0], current log tail at RBA [0x39a7.b72f6.0]
Tue Mar  3 23:34:52 2009
Incremental checkpoint up to RBA [0x39a7.f4f6f.0], current log tail at RBA [0x39a7.fb55a.0]
Tue Mar  3 23:54:57 2009
Incremental checkpoint up to RBA [0x39a7.12598f.0], current log tail at RBA [0x39a7.1371ec.0]
Wed Mar  4 00:10:16 2009
ORA-00060: Deadlock detected. More info in file /opt/dbms/app/oracle/product/comtst/10.2.0/admin/COMTST_suomt05k/udump/comtst_ora_25663.trc.
Wed Mar  4 00:10:22 2009
ORA-00060: Deadlock detected. More info in file /opt/dbms/app/oracle/product/comtst/10.2.0/admin/COMTST_suomt05k/udump/comtst_ora_5983.trc.
Wed Mar  4 00:15:02 2009
Incremental checkpoint up to RBA [0x39a7.15fff7.0], current log tail at RBA [0x39a7.160c26.0]
Wed Mar  4 00:35:06 2009
Incremental checkpoint up to RBA [0x39a7.191204.0], current log tail at RBA [0x39a7.1a5c0c.0]
Wed Mar  4 00:55:10 2009
Incremental checkpoint up to RBA [0x39a7.1b67bb.0], current log tail at RBA [0x39a7.1b75a1.0]
Wed Mar  4 01:15:14 2009
Incremental checkpoint up to RBA [0x39a7.1c96f7.0], current log tail at RBA [0x39a7.1ca1ef.0]
Wed Mar  4 01:35:18 2009
Incremental checkpoint up to RBA [0x39a7.1cd31a.0], current log tail at RBA [0x39a7.1d1b92.0]
Wed Mar  4 01:38:03 2009
Beginning log switch checkpoint up to RBA [0x39a8.2.10], SCN: 10372886671282
Thread 1 advanced to log sequence 14760
  Current log# 8 seq# 14760 mem# 0: /opt/apps/comsdb/comtstdata/redo08a.log
  Current log# 8 seq# 14760 mem# 1: /opt/apps/comsdb/comtstdata/redo08b.log
Wed Mar  4 01:43:07 2009
Completed checkpoint up to RBA [0x39a8.2.10], SCN: 10372886671282
Wed Mar  4 01:55:25 2009
Incremental checkpoint up to RBA [0x39a8.1429a.0], current log tail at RBA [0x39a8.14980.0]
Wed Mar  4 02:15:30 2009
Incremental checkpoint up to RBA [0x39a8.24b0f.0], current log tail at RBA [0x39a8.255d4.0]
Wed Mar  4 02:35:34 2009
Incremental checkpoint up to RBA [0x39a8.280fe.0], current log tail at RBA [0x39a8.28d8a.0]
Wed Mar  4 02:55:38 2009
Incremental checkpoint up to RBA [0x39a8.4e2aa.0], current log tail at RBA [0x39a8.5200a.0]
Wed Mar  4 03:15:42 2009
Incremental checkpoint up to RBA [0x39a8.6231a.0], current log tail at RBA [0x39a8.6306b.0]

# 5  
Old 03-05-2009
Hi,

Hope this may help you..

grep -A1 "`date +%a` `date +%b` `date +%d|sed 's/^0//g'`" inputlogfile|tail +2|head -1 > output_errordetails

Thanks
Sha
# 6  
Old 03-05-2009
@Shahul,

Thanks a lot for your help and suggestion.

I have devised a method myself, which is not dissimilar to what you have suggested.

The logic I've used is:

1. Get the line number of the first occurance of today's date.

2. Use the more +linenumber command to get the contents of the alert log from the first occurance to the end of file and put it in a temp file.

Code:
ln_no=$(egrep -n "$(date | cut -d ' ' -f1-4)" ${ALERT_LOG} | head -1 | awk '{print $1}' | cut -d ':' -f1)
 
more +${ln_no} ${ALERT_LOG} > ${TMP_FILE}

egrep -i "ORA-" ${TMP_FILE} > ${ERR_FILE}
if [[ $? -eq 0 ]]; then
  mailx -s "$(hostname): ${curr_date}: Errors in ${ORACLE_SID} alert log" ${APPSDBA_MAIL_LIST} < ${ERR_FILE}
fi

Thanks all for your suggestions! This forum rocks!!! Smilie

Regards,

Praveen
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Copy last 30 minutes' contents from a log file

Hi Guys, I am writing a bash script to capture the last 30 minutes's contents from log file to a new file. This job is a scheduled job and will run every 30 minutes. The log file is db2diag.log in DB2. I am having difficulties copying the last 30 minutes's contents. Can someone please help me.... (4 Replies)
Discussion started by: naveed
4 Replies

2. Shell Programming and Scripting

Copy contents of one file to another

I need to write a script (in bash) that copies the content of the first file in each folder of a directory to the second file in the same folder. I tried this and it didn't work - it just came back with errors and I'm not sure how to fix it. Help is very much appreciated! for mpdir in... (4 Replies)
Discussion started by: LeftoverStew
4 Replies

3. Shell Programming and Scripting

Need Script to copy the contents of two files into one file

Hi i need Script to copy the contents of two files into one file i have 2 fil X1.txt / X2.txt i need script to copy the contents of X1 and X2 In AllXfile X1.txt File X1 X2.txt File X2 AllXfile.txt File X1 File X2 (2 Replies)
Discussion started by: azzeddine2005
2 Replies

4. Shell Programming and Scripting

Need help to copy contents of a file

Hi, I am stuck up with a problem of copying the contents of a directory where one of the folder name is changed daily. Problem: I have the folder structure as: RefWorlds2/LINGCC4_X64/odsdev/odessy/UTI/621GA_build_xxx/.../.. In the above path the build number (xxx) will be changed... (3 Replies)
Discussion started by: SathaKarni
3 Replies

5. UNIX for Dummies Questions & Answers

Copy entire contents of file to clipboard

Hi, I am trying to figure out how to copy the contents of a file to the clipboard, then paste into a command. i.e copy contents of file /path/filename.txt to <command> <paste text> Hope that makes sense. Basically tryting to copy the text for use in a command without having to open the... (8 Replies)
Discussion started by: JCA70
8 Replies

6. Shell Programming and Scripting

Grep and fetch subsequent lines also

Hi, I need to grep a pattern and fetch subsequent lines till end of the data-set. E.g., i have a file like: AA 1111 23 34 BB 45 56 78 CC 22 44 AA 2222 78 34 56 BB 22 56 67 68 23 CC 56 78 DD 33 55 77 AA 3333 46 BB 58 79 In above file i have 3-data sets where each set starts with... (6 Replies)
Discussion started by: prvnrk
6 Replies

7. Shell Programming and Scripting

copy the contents between two keywords to a new file.

Hi All, I want to edit my gate level netlists by searching for the content between two patterns eg: ff1 \test/a0 ( .CLK(\test/ClkInt0_acb_00x1 ),.D(\test/Rakicc ), .QB(\test/X ), .VDD(1'b1), .VSS(1'b0)); ff1 \test/a1 ( .CLK(\test/medis0_acb_00x1 ),.D(\test/hedwc ), .QB(\test/X ),... (6 Replies)
Discussion started by: naveen@
6 Replies

8. Shell Programming and Scripting

How to insert values in 1st occurance out of two occurance in a file

Hi I have a file which contains the following two lines which are same But I would like to insert the value=8.8.8.8 in the 1st occurance line and value=9.9.9.9 in the 2nd occurance line. <parameter name="TestIp1" value=""> <parameter name="TestIp1" value=""> Please suggest (1 Reply)
Discussion started by: madhusmita
1 Replies

9. Shell Programming and Scripting

Automatic Copy of File Contents to Clipboard

Could someone show me how to copy the contents of a file to the clipboard automatically without manually selecting its contents? I just want to press the "Paste Key" to show the results. I wish to use this in a ksh script. I'm using Solaris. Thanks! (5 Replies)
Discussion started by: ilak1008
5 Replies

10. Shell Programming and Scripting

Copy selected contents from file

I want to capture contents of a file between 2 strings into another file for eg all lines in between the keywords "start log" and "end log" should be copied into another file (4 Replies)
Discussion started by: misenkiser
4 Replies
Login or Register to Ask a Question