Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^7: Time matching YYYY-MM-DD HH:MM:SS.SSS

by dave_the_m (Parson)
on Jul 27, 2012 at 11:34 UTC ( #984017=note: print w/ replies, xml ) Need Help??


in reply to Re^6: Time matching YYYY-MM-DD HH:MM:SS.SSS
in thread Time matching YYYY-MM-DD HH:MM:SS.SSS

You probably want something like the following (not heavily tested):

use warnings; use strict; @ARGV == 2 or die; my @files = @ARGV; my $date_qr = qr{^(\d{4}/\d\d/\d\d \d\d:\d\d:\d\d\.\d{3}) }; my @dates; for my $i (0,1) { open my $fh, '<', $files[$i] or die "Can't open $files[$i]: $!\n"; while (<$fh>) { next if /Epoch/; chomp; m/$date_qr/ or die "$files[$i]:$.: invalid line: $_\n"; $dates[$i] = $1; last; } } print "earliest=@dates\n"; my $i = 0; if ($dates[0] ne $dates[1]) { my $earliest = $dates[0] lt $dates[1] ? 0 : 1; open my $fh, '<', $files[$earliest] or die "Can't open $files[$earliest]: $!\n"; while (<$fh>) { next if /Epoch/; chomp; m/$date_qr/ or die "files[$earliest]:$.: invalid line: $_\n"; last if $1 ge $dates[!$earliest]; $i++; } } print "there are $i earlier date entries\n";

Dave.


Comment on Re^7: Time matching YYYY-MM-DD HH:MM:SS.SSS
Download Code
Re^8: Time matching YYYY-MM-DD HH:MM:SS.SSS
by PRyanRay (Novice) on Jul 27, 2012 at 19:34 UTC
    Wow that's great code except the definition of $date_qr = qr line... The extra space lost me an hour or two this morning. I'm not sure why that made a difference. There is a space after the .\d{3} in the input files. Any ideas? Works like a charm besides that!
      The regex I used works against the sample data you supplied. Perhaps your real data is different. Perhaps you have tabs rather than spaces (so use \s), or perhaps some lines don't have any text after the timestamp?

      Dave.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://984017]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (8)
As of 2014-07-25 04:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (167 votes), past polls