Find time difference between two consecutive lines in same file.
Hello
I have a file in following format:
IV 08:09:07
NM 08:12:01
IC 08:12:00
MN 08:14:20
NM 08:14:15
I need a script to compare time on each line with previous line and show the inconsecutive line. Ex.:
08:12:00
08:14:15
A better way will be a message in this form:
“IC has 1 second difference on 08:12:00 time
NM has 5 second difference on 08:14:15 time”
But first example will be more than enough.
How i can compare each line whit previews line? I tried this script:
but it doesn’t work in line 3. Is a syntax problem or is an impossible command. I don’t know. I’m new in this. I even try to make a variable name, variable but again I’m stuck in line 3 on syntax or in “impossibliness” problem:
It must be an “eval” expression somewhere but “indirect variable reference” is way over my head right now. I have a felling that all can be done very easily but I can’t see how .
Thanks in advance for your time.
if you need a plain ksh example of a utility script, you could do the following:-
It takes either zero, two or three parameters. With zero, it prompts. With two, it gives the difference in seconds. If parameter 3 is hh:mm:ss then it converts it back to time format.
You can then decide how you want your code to call it, for instance a very simple:-
You could, of course add the 3rd parameter to the call to timediff of hh:mm:ss amking the line:
As a warning, I have just thrown this together, so I haven't worried about considering crossing over midnight more than once in a single step.
I hope that this helps, but do let us know if I have missed the point.
Robin
Liverpool/Blackburn
UK
Last edited by rbatte1; 03-11-2011 at 10:22 AM..
Reason: Adding comments and a calling loop
Thanks for reply. It is a very elaborate response. I'm eager to try your solutions. Unfortunately all my testing data are at work. I will test your script Monday and I will keep you posted. Thanks again.
I promised to get back with results.
The danmero solution is working charmingly, although I'm not fully understand how it read previous line and compare with current one. The data from my file are several lines long and script pointed me exactly where to look for differences. Thanks again danmero, this is exactly what I need.
Although is not exactly what I intended to obtain, I tested the rbatte1 solution and after choosing h or S option I get an error:
Probably becouse i use bash which i must be mentioned earlyer. Sorry.
Thanks again for your time. My problem was solved
I have a text file with many thousands of lines, a small sample of which looks like this:
InputFile:PS002,003 D -1 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 6 6 -1 -1 -1 -1 0 509 0
PS002,003 PSQ 0 1 7 18 1 0 -1 1 1 3 -1 -1 ... (5 Replies)
I was looking at this script which outputs the two lines which differs less than one sec.
#!/usr/bin/perl -w
use strict;
use warnings;
use Time::Local;
use constant SEC_MILIC => 1000;
my $file='infile';
## Open for reading argument file.
open my $fh, "<", $file or die "Cannot... (1 Reply)
Hi All :o,
I have some log files which contains these informations:
2013-04-24 09:11:34.018 INFO XXXXXXXXXXXX
2013-04-24 09:11:34.029 INFO YYYYYYYYYYYY
2013-04-24 09:11:34.039 INFO ZZZZZZZZZZZZZZZ
2013-04-24 09:12:21.295 INFO TTTTTTTTTTTTTTT
2013-04-24 09:12:21.489 INFO... (3 Replies)
I have a file wich contains time formats and i need to get the time difference
TIME1 TIME2
=============== ===================
20120624192555.6Z 20120624204006.5Z
which means first date 2012/6/24 19:25:55,second date 2012/6/24 20:40:06 so when i get the time... (23 Replies)
I have a file wich contains time formats and i need to get the time difference
TIME1 TIME2
==================================
20120624192555.6Z 20120624204006.5Z
which means first date 2012/6/24 19:25:55,second date 2012/6/24 20:40:06 so when i get the time... (1 Reply)
Hi guys
I am deleting a unique line from the file and also need to remove the line above it which is NOT unique and servers as a record separator. Here is an example:
#
101 803E 823F 8240
#
102 755f 4F2A 4F2B
#
290 747D 0926 0927
#
999 8123 813E ... (5 Replies)
Hi,
I have a file with one column data (sample below) and I am trying to write a shell script to calculate the difference between consecutive data valuse i.e
Var = Ni -N(i-1)
0.3141
-3.6595
0.9171
5.2001
3.5331
3.7022
-6.1087
-5.1039
-9.8144
1.6516
-2.725
3.982
7.769
8.88 (5 Replies)
Hi guru's,
Am new to shell scripting.
I am getting the below o/p from the oracle database, when I fire a query.
ID JOB_ID ELAPSED_TIME FROM TO
----- ------ ------------------- -------- --------
62663 11773 01/06/2009 09:49:13 SA CM
62664 11773 ... (4 Replies)
Hello Friends,
I want to write a script for the following:
nlscux62:tibprod> grep "2008 Apr 30 01:" SA_EHV_SPEED_SFC_IN_03-SA_EHV_SPEED_SFC_IN_03-2.log | grep -i post | more
2008 Apr 30 01:01:23:928 GMT +2 SAPAdapter.SA_EHV_SPEED_SFC_IN_03-SA_EHV_SPEED_SFC_IN_03-2 Info AER3-000095 IDOC... (2 Replies)