grep a log file between 2 dates


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting grep a log file between 2 dates
# 1  
Old 06-29-2007
grep a log file between 2 dates

Hi

Currently I can grep a log file with the following command:

$results = `grep -A 2 '^$date.$time.*' $log`;

and the following arguments:

$date = 2007/04/25
$time = 16:07

Log example:

2007/04/25 16:07:12.145701
2007/05/25 14:07:12.145701
2007/05/25 17:07:12.145701
2007/06/25 16:07:12.145701

Therefore running the script ./script 2007/04/25 16:07

will return the 2nd line of the log - 2007/05/25 14:07:12.145701

But how do I do range of dates, by giving a 2 more arguments:

./script 2007/03/20 15:13 2007/08/19 14:31

So therefore returning:

2007/04/25 16:07:12.145701
2007/05/25 14:07:12.145701
2007/05/25 17:07:12.145701

I dont see how I can do that with grep as it is just pattern matching once, do I need a loop which can step through all the days and seconds in between the 2 dates or is there a kind of date range function?

Thanks
Rich
# 2  
Old 06-29-2007
non trivial, grep will not cope
# 3  
Old 06-29-2007
Code:
awk '$0>=from&&$0<=to' from="2007/03/20 15:13" to="2007/08/19 14:31" infile

Use nawk on Solaris.
# 4  
Old 06-29-2007
of course, brilliant
# 5  
Old 06-29-2007
im using, is this compatible:
SuSE Linux 9.3 (i586)
VERSION = 9.3

'$0>=from&&$0<=to' is ensuring that the $0 is in between the from and 2 dates specified.

How can I run this in perl?

Im using:
$results = `awk '$0>=from&&$0<=to' from="$date $time" to="$date2 $time2" $log `;

then "if (!$results) {" to find out if $results contains anything? but is not working

error is:

awk: ./s>=from&&./s<=to
awk: ^ syntax error

Last edited by Epiphone; 06-29-2007 at 07:55 AM..
# 6  
Old 06-29-2007
yes is working in the shell (command prompt) but not when running as part of perl script?.

How can I incorporate that into my perl script?
# 7  
Old 06-29-2007
Quote:
Originally Posted by Epiphone
[...]
How can I incorporate that into my perl script?
Write it in perl (not awk) ...
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. What is on Your Mind?

Grep file containing dates

How to grep a file containing dates to only last 30 days then move to another folder (7 Replies)
Discussion started by: kmarcus
7 Replies

2. Shell Programming and Scripting

Grepping only dates from a log file

Hi All, I have a log file where every line contains a date and some other data, i want to grep only the date from every line to a different file. Please help how to get this. Thanks in advance !! (25 Replies)
Discussion started by: nanz143
25 Replies

3. Shell Programming and Scripting

Grep search for value between dates

Hi I am new to scripting and I have a requirement to grep a value from large numbers of xml files and see if this value exist then I want to check the date and see if it falls between two dates (eg: today and feb 17), then print the name of file. the values in xml file is as follow... (7 Replies)
Discussion started by: mmsiddig
7 Replies

4. Shell Programming and Scripting

Script to read a log file and run 2nd script if the dates match

# cat /tmp/checkdate.log SQL*Plus: Release 11.2.0.1.0 Production on Mon Sep 17 22:49:00 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production FIRST_TIME NEXT_TIME... (1 Reply)
Discussion started by: SarwalR
1 Replies

5. Shell Programming and Scripting

Shell Script to grep Job File name and Log File name from crontab -l

Hello, I am new to shell scripting. I need to write a shell script where i can grep the name of file ie. .sh file and log file from crontab -l. #51 18 * * * /home/oracle/refresh/refresh_ug634.sh > /home/oracle/refresh/refresh_ug634.sh.log 2>&1 #40 17 * * * /home/oracle/refresh/refresh_ux634.sh... (1 Reply)
Discussion started by: guptra
1 Replies

6. UNIX for Dummies Questions & Answers

How to write the dates between 2 dates into a file

Hi All, I am trying to print the dates that falls between 2 date variables into a file. Here is the example. $BUS_DATE =20120616 $SUB_DATE=20120613 Output to file abc.txt should be : 20120613,20120614,120120615,20120616 Can you pls help me accomplish this in LINUX. Thanks... (5 Replies)
Discussion started by: dsfreddie
5 Replies

7. Shell Programming and Scripting

How to processing the log file within certain dates based on the file name

Hi I am working on the script parsing specific message "TEST" from multiple file. The log file name looks like: N3.2009-11-26-03-05-02.console.log.tar.gz N4.2009-11-29-00-25-03.console.log.tar.gz N6.2009-12-01-10-05-02.console.log.tar.gz I am using the following command: zgrep -a --text... (1 Reply)
Discussion started by: shyork2001
1 Replies

8. Shell Programming and Scripting

find log file between two dates

Dear All, Please can you help me to crack this query? If the log files for the task above all had a naming convention of myoutput_YearMonthDay.log (i.e. myoutput_20060215) How would you find only those log files created between the 10th and the 20th of each month going back the last 365 days.... (1 Reply)
Discussion started by: justin_mca
1 Replies

9. Shell Programming and Scripting

grep a log file to filter previous dates

Hi, I have problem of filtering a log file from my perl script. #cat /data/pinpe.csv_20070731 | nawk -v FS=, '{print $1','$18','$22','$26}' | grep -w 100 | grep -w 1 | nawk '{print $4}' Below is the output: 2009-06-16 2009-01-29 2009-06-02 2008-03-05 2007-08-05 2007-09-24... (5 Replies)
Discussion started by: pinpe
5 Replies

10. Shell Programming and Scripting

help searching log file with dates

Im tyring to create a script that will show me any lines in a file with todays date and yesterdays, the date format in the file is as follows ----- amqxfdcx.c : 728 -------------------------------------------------------- 07/12/05 09:53:20 AMQ6109: An internal WebSphere MQ error has... (3 Replies)
Discussion started by: csaunders
3 Replies
Login or Register to Ask a Question