Sponsored Content
Top Forums Shell Programming and Scripting Count of matched pattern occurences by time in a log file Post 302511949 by pravin27 on Friday 8th of April 2011 03:23:48 AM
Old 04-08-2011
Perl

Code:
#!/usr/bin/perl

use Time::Local;

while(<DATA>) {
chomp;
@dt=unpack("A2 x1 A2 x1 A4 x1 A2 x1 A2 x1 A2",$_);
if ($dt[3] ne $cur_hr) {
        print substr($start_dt,1,10),"Between " ,substr($start_dt,11) ," and " , substr($end_dt,11)," Success ", $suc ," and Fail ", $fail,"\n" if ($suc || $fail);
        $start_dt=$dt[0]."/".$dt[1]."/".$dt[2]." ".$dt[3].":00:00";
        $mon=$dt[1] - 1;
        $yr= $dt[2] - 1900;
        $sec_start=timelocal(0,0,$dt[3],$dt[0],$mon,$yr);

        $sec_end=$sec_start + 3600;
        $end_dt=$dt[0]."/".$dt[1]."/".$dt[2]." ".$dt[3].":59:00";
        $suc=0;$fail=0;

}
        $cur_sec=timelocal($dt[5],$dt[4],$dt[3],$dt[0],$dt[1]-1,$dt[2]-1900);
        if ( $cur_sec >= $sec_start && $cur_sec <= $sec_end) {
                if ( /\bSuccess\b/ ) {++$suc;}else{++$fail;}
                }
$cur_hr=$dt[3];
}

print substr($start_dt,1,10),"Between " ,substr($start_dt,11) ," and " , substr($end_dt,11)," Success ", $suc ," and Fail ", $fail,"\n" if ($suc || $fail);
__DATA__
08/04/2011 05:03:08 Connection Success
08/04/2011 05:13:18 Connection Success
08/04/2011 05:23:28 Connection Fail
08/04/2011 05:33:38 Connection Success
08/04/2011 06:14:18 Connection Success
08/04/2011 06:24:28 Connection Fail
08/04/2011 06:34:38 Connection Fail
08/04/2011 07:14:48 Connection Success
08/04/2011 07:25:18 Connection Success
08/04/2011 07:35:28 Connection Fail

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

grep and count no of occurences in every line of a file

Hi Folks, I have a input file of the below format. ~~~OLKIT~OLKIT~1~~TBD~BEST PAGER & WIRELESS~4899 COMMON MARKET PLACE~~~DUBLIN~KS~43016~I~Y~DIRECT~D~~0 BPGRWRLS~~~OLKIT~OLKIT~1~~TBD~BEST PAGER & WIRELESS~4899 COMMON MARKET PLACE~~~DUBLIN~KS~43016~I~Y~DIRECT~D~~0... (12 Replies)
Discussion started by: srikanthgr1
12 Replies

2. HP-UX

count occurences of specific character in the file

For counting the occurences of specific character in the file I am issuing the command grep -o 'character' filename | wc -w It works in other shells but not in HP-UX as there is no option -o for grep. What do I do now? (9 Replies)
Discussion started by: superprogrammer
9 Replies

3. UNIX for Dummies Questions & Answers

Count of matched pattern occurance

In a file a pattern is occured many times randomly. Even it may appear more then once in the same line too. How i can get the number of times that pattern appeared in the file? let the file name is abc.txt and the pattern is "xyz". I used the following code: grep -ic "xyz" abc.txt but it is... (3 Replies)
Discussion started by: palash2k
3 Replies

4. Shell Programming and Scripting

How to count the number of occurences of this pattern?

Hi all, I have a pattern like this in a file: 123 4 56 789 234 5 67 789 121 3 56 789 222 4 65 789 321 6 90 100 478 8 40 789 243 7 80 789 How can I count the number of occurences of '789' (4th column) in this set...? Thanks for all your help! K (7 Replies)
Discussion started by: kripssmart
7 Replies

5. UNIX for Dummies Questions & Answers

Count pattern occurences

hi, I have a text..and i need to find a pattern in the text and count to the no of times the pattern occured. i have used grep command ..but the problem is , it shows the occurrences of the pattern but doesn't count no of times the pattern occuries. (5 Replies)
Discussion started by: nvnni
5 Replies

6. Shell Programming and Scripting

Count of matched pattern occurences by minute and date in a log file

Anyone knows how to use AWK to achieve the following Sun Feb 12 00:41:01-00:41:59 Success:2 Fail:2 Sun Feb 12 00:42:01-00:42:59 Success:1 Fail:2 Sun Feb 12 01:20:01-01:20:59 Success:1 Fail:2 Mon Feb 13 22:41:01-22:41:59 Success:1 Fail:1 log file: Success Success Fail Fail ... (9 Replies)
Discussion started by: timmywong
9 Replies

7. Shell Programming and Scripting

[solved]awk count occurences in time window

Input File Time, KeyStation 00:00:00,000;KS_1 00:00:01,000;KS_1 00:00:02,000;KS_1 00:00:03,000;KS_1 00:00:04,000;KS_1 00:00:05,000;KS_1 00:00:06,000;KS_1 00:01:01,000;KS_1 00:01:02,000;KS_1 00:01:03,000;KS_1 00:01:04,000;KS_1 00:01:05,000;KS_1 00:01:06,000;KS_1 01:00:01,000;KS_1... (0 Replies)
Discussion started by: Calypso
0 Replies

8. Shell Programming and Scripting

How to use sed to search a particular pattern in a file backward after a pattern is matched.?

Hi, I have two files file1.txt and file2.txt. Please see the attachments. In file2.txt (which actually is a diff output between two versions of file1.txt.), I extract the pattern corresponding to 1172c1172. Now ,In file1.txt I have to search for this pattern 1172c1172 and if found, I have to... (9 Replies)
Discussion started by: saurabh kumar
9 Replies

9. Shell Programming and Scripting

ksh : need to get the 4 th line above and 2 nd below the matched pattern in the log file

I have a log file as given below 012/01/21 10:29:02 (111111) Processing Job '23_369468343464564' 2012/01/21 10:29:02 (111111) Making Job '23_369468343464564.0'... 2012/01/21 10:29:04 (111111) Jobnumber '23_369468343464564' was successful 2012/01/21 10:29:04 ... (12 Replies)
Discussion started by: rpm120
12 Replies

10. Shell Programming and Scripting

Count occurences of a character in a file by sorting results

Hello, I try to sort results of occurences in an array by using awk but I can't find the right command. that's why I'm asking your help ! :) Please see below the command that I run: awk '{ for ( i=1; i<=length; i++ ) arr++ }END{ for ( i in arr ) { print i, arr } }' dictionnary.txt ... (3 Replies)
Discussion started by: destin45
3 Replies
Time::y2038(3pm)					User Contributed Perl Documentation					  Time::y2038(3pm)

NAME
Time::y2038 - Versions of Perl's time functions which work beyond 2038 SYNOPSIS
use Time::y2038; print scalar gmtime 2**52; # Sat Dec 6 03:48:16 142715360 DESCRIPTION
On many computers, Perl's time functions will not work past the year 2038. This is a design fault in the underlying C libraries Perl uses. Time::y2038 provides replacements for those functions which will work accurately +/1 142 million years. This only imports the functions into your namespace. To replace it everywhere, see Time::y2038::Everywhere. Replaces the following functions: gmtime() See "gmtime" in perlfunc for details. localtime() See "localtime" in perlfunc for details. timegm() my $time = timegm($sec, $min, $hour, $month_day, $month, $year); The inverse of "gmtime()", takes a date and returns the coorsponding $time (number of seconds since Midnight, January 1st, 1970 GMT). All values are the same as "gmtime()" so $month is 0..11 (January is 0) and the $year is years since 1900 (2008 is 108). # June 4, 1906 03:02:01 GMT my $time = timegm(1, 2, 3, 4, 5, 6); timegm() can take two additional arguments which are always ignored. This lets you feed the results from gmtime() back into timegm() without having to strip the arguments off. The following is always true: timegm(gmtime($time)) == $time; timelocal() my $time = timelocal($sec, $min, $hour, $mday, $month, $year); my $time = timelocal($sec, $min, $hour, $mday, $month, $year, $wday, $yday, $isdst); Like "timegm()", but interprets the date in the current time zone. "timelocal()" will normally figure out if daylight savings time is in effect, but if $isdst is given this will override that check. This is mostly useful to resolve ambiguous times around "fall back" when the hour between 1am and 2am occurs twice. # Sun Nov 4 00:59:59 2007 print timelocal(59, 59, 0, 4, 10, 107); # 1194163199 # Sun Nov 4 01:00:00 2007 DST, one second later print timelocal(0, 0, 1, 4, 10, 107, undef, undef, 1); # 1194163200 # Sun Nov 4 01:00:00 2007 no DST, one hour later print timelocal(0, 0, 1, 4, 10, 107, undef, undef, 0); # 1194166800 $wday and $yday are ignored. They are only there for compatibility with the return value of "localtime()". LIMITATIONS
The safe range of times is +/ 2**52 (about 142 million years). Although the underlying time library can handle times from -2**63 to 2**63-1 (about +/- 292 billion years) Perl uses floating point numbers internally and so accuracy degrates after 2**52. BUGS &; FEEDBACK See http://rt.cpan.org/Dist/Display.html?Queue=Time-y2038 to report and view bugs. If you like the module, please drop the author an email. The latest version of this module can be found at http://y2038.googlecode.com/ and the repository is at http://y2038.googlecode.com/svn/trunk/ in perl/Time-y2038. You have to check out the whole repository because there are symlinks. AUTHOR
Michael G Schwern <schwern@pobox.com> LICENSE &; COPYRIGHT Copyright 2008-2010 Michael G Schwern This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html SEE ALSO
Time::y2038::Everywhere overrides localtime() and gmtime() across the whole program. The y2038 project at http://y2038.googlecode.com/ <http://xkcd.com/376/> perl v5.14.2 2011-11-15 Time::y2038(3pm)
All times are GMT -4. The time now is 10:06 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy