Grep using date issue


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Grep using date issue
# 1  
Old 01-11-2014
Grep using date issue

I'm using the below to grep two strings from my log file.
Code:
 grep "09:49.*yellow" out.log

Now, i wish to search for all times within 3 minutes of the greped time i.e

All time starting from 09:49:00 to 09:51:00.

Currently it searches only for 09:49:* and also searches incorrect entry like 05:09:49.

OS: SunOS mymac 5.10 Generic_148888-04 sun4v sparc SUNW,SPARC-Enterprise-T5220

Please help.
# 2  
Old 01-11-2014
Try:
Code:
/usr/xpg4/bin/grep -E '09:(49|50|51):.*yellow'

# 3  
Old 01-13-2014
Quote:
Originally Posted by Scrutinizer
Try:
Code:
/usr/xpg4/bin/grep -E '09:(49|50|51):.*yellow'

You did not get my question. The time i need to grep keeps changing so, what if the time is 09:59 ?

How shall we grep so that these timings are considered 09:59, 10:00, 10:01 ?

So, i need a generic query for any time on a 24 hr clock !!

Last edited by mohtashims; 01-13-2014 at 05:54 AM..
# 4  
Old 01-13-2014
Quote:
Currently it searches only for 09:49:* and also searches incorrect entry like 05:09:49.
It is not an incorrect entry, grep did exactly what it was designed for, you did a
Code:
grep "09:49.*yellow" out.log

and so 05:09:49. matches! The true issue is you not giving a better pattern, and here we cannot help you since you have not submitted any sample so we can see what you are up to, Scrutinsers submission is pefectly valid with the little info you gave so far (even if I guessed where the issues would be...) so next time I see a post from you like above, be sure I will close the thread a give you a warning.
# 5  
Old 01-13-2014
Quote:
Originally Posted by vbe
It is not an incorrect entry, grep did exactly what it was designed for, you did a
Code:
grep "09:49.*yellow" out.log

and so 05:09:49. matches! The true issue is you not giving a better pattern, and here we cannot help you since you have not submitted any sample so we can see what you are up to, Scrutinsers submission is pefectly valid with the little info you gave so far (even if I guessed where the issues would be...) so next time I see a post from you like above, be sure I will close the thread a give you a warning.
I understand that i was not very precise in putting my question forward. I will open a new thread and post my problem better documented.
# 6  
Old 01-13-2014
Quote:
Originally Posted by vbe
It is not an incorrect entry, grep did exactly what it was designed for
Absolutely correct!

Quote:
Originally Posted by vbe
you did a
Code:
grep "09:49.*yellow" out.log

and so 05:09:49. matches!
True. In fact it will also match "09:49blah-blubb-foo-bar-whatnot-yellow" because ".*" in regexps means "any number of any character(s)" and should be used only with extreme caution.

This regexp is - most likely, because lacking any documentation of the problem we are left to guessing - completely screwed from the beginning and perhaps never did what it should do.

Moderator's Comments:
Mod Comment My standard suggestion in this case is: first, learn to analyze your problem clearly and concisely. This will already solve most problems, because they are not lack of knowledge, but lack of ability to bring the facts into a harmonic order. Second, as there are still some problem left for practically everybody, learn to present your problem concisely. Right now we do not know which shell you use (which might influence the best way to solve what you want to do) and we haven't seen yet a sample of your input data.

As a last - but nevertheless highly important - point: you can expect hints, pointers, even attempts at solutions from us, but we won't do your work for you! This means, first and foremost, that you should try to understand the offered solutions and maybe modify them to fit your needs. Just sitting there, pasting what we write here into a shell and writing back "doesn't work" once it doesn't solve all your problems immediately isn't going to cut it. There might be others who see it differently but i for myself tend to ignore threads with questions from such people over time. I am sure that i am not alone with this habit.

You might think about that.


bakunin
# 7  
Old 01-13-2014
Error How to Grep for Time Range?

I wish to grep for time and a string in a log file.

The time to grep for is in this format hh:mm with a 24 hrs clock cycle.

The log file has the time in this format hh:mm:ss

The search should yield only those lines that matches both the string as well as any time between the grepped time + 3 mins.

For example: grep for time [23:59] and string [yellow] should yield all the lines that contain yellow as well as any time between 23:59:00 to 00:02:00 i.e 23:59 +3 mins

My OS is
Code:
SunOS mymac 5.10 Generic_148888-04 sun4v sparc SUNW,SPARC-Enterprise-T5220

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Date issue

How to compare two input date string? What I am basically trying to get here is get file names in a directory for a particular date range. I would like to get the file data growth over a certain period of time. When below code ran I am getting error - -sh: 20190929: No such file or... (4 Replies)
Discussion started by: vedanta
4 Replies

2. Shell Programming and Scripting

Date issue

I have posted a code last week about that date format problem, well I have figured out a much lesser coding. #!/usr/bin/bash clear export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 if ; then echo " Incorrect Number of Arguments"; echo " Usage : Main_Script <FROM_DATE>... (1 Reply)
Discussion started by: Chandan_Bose
1 Replies

3. Shell Programming and Scripting

Simple date issue

Hi , Here is the smaller version of the problem. Working individually as command ************************>echo $SHELL /bin/bash ************************>TO_DAY=`date` ************************>echo $TO_DAY Tue Jul 16 02:28:31 EDT 2013 ************************> Not working when... (5 Replies)
Discussion started by: Anupam_Halder
5 Replies

4. Shell Programming and Scripting

Calculating expiry date using date,sed,grep

Hi, I would greatly appreciate it if someone can help me with my problem. I have a crawler which collects spam URLs everyday & this data needs to be published in a blacklist. Here's the catch: The "Time To Live" (TTL) for each URL is 3 months (or whatever for that matter). If i see the... (5 Replies)
Discussion started by: r4v3n
5 Replies

5. Shell Programming and Scripting

date printing issue

Hello folks Below command shows current date echo `date +%Y-%m-%d` 2010-04-21 How to show one day old date, i want see like 2010-04-20 (1 Reply)
Discussion started by: learnbash
1 Replies

6. Shell Programming and Scripting

Date issue

Hi I need to write a shell script (bash) that takes a date as an in-parameter an decides if its winter or summer time. I have diffrent dates like 20150112 , 200901028 , 200100605 etc. The rule for winter/summer time is : Summer time spans between the last Sunday in march 02:00 to the... (2 Replies)
Discussion started by: duffnix
2 Replies

7. Shell Programming and Scripting

sort date issue

Hi Everyone, # cat b Sat 12 Sep 2009 10:31:49 PM MYT;a;a;a;Sun 13 Sep 2009 11:32:49 AM MYT; Sat 13 Sep 2009 10:31:49 PM MYT;a;a;a;Mon 14 Sep 2009 10:31:49 PM MYT; Sat 14 Sep 2009 10:31:49 PM MYT;a;a;a;Sun 13 Sep 2009 10:31:49 PM MYT; # sort -t';' -k5 b Sat 13 Sep 2009 10:31:49 PM... (8 Replies)
Discussion started by: jimmy_y
8 Replies

8. Solaris

Cron Date issue

Hi, We have Solaris10.2.3 server. If we execute command `date` on Command Line Promt it shows time - >Tue Jun 23 11:35:55 BST 2009 - which is correct However if the command is executed through cron it gives - >Tue Jun 23 10:35:55 ESTEDT 2009 - which is wrong Request you to help me in... (1 Reply)
Discussion started by: sk2304
1 Replies

9. UNIX for Advanced & Expert Users

date issue-find prevoius date in a patricular format

Hi , I have written a shell script that takes the current date on the server and stores it in a file. echo get /usr/home/data-`date '+%Y%d'`.xml> /usr/local/sandeep/GetFILE.ini I call this GetFILE.ini file from an sftp program to fetch a file from /usr/home/ as location. The file is in... (3 Replies)
Discussion started by: bsandeep_80
3 Replies

10. Programming

date issue

hi all: I want to create a new file dynamically for each day.how can i do this. eg.. struct tm tm; while(1) { if(tm.tm_hr==0 && tm.tm_min=0 && tm.tm_sec==0) { //create a new file.. ... (3 Replies)
Discussion started by: bankpro
3 Replies
Login or Register to Ask a Question