Sponsored Content
Top Forums Shell Programming and Scripting How to compare the time in different format from a file? Post 302747613 by Don Cragun on Friday 21st of December 2012 09:31:39 PM
Old 12-21-2012
I tried using floating point (as Jim suggested), but with some additional testing I found the results were occasionally off by a microsecond. The following seems to work even when time stamps roll over to the next day. (It still assumes that there is always less than 24 hours between adjacent time stamps.) If you're running on a Solaris system, use nawk or /usr/xpg4/bin/awk instead of awk:
Code:
awk -F '  ' '{  
        if(split($1, nf, /[:.]/) != 4) {
                printf "Time stamp split for \"%s\" on line %d failed\n", $1, NR
                exit 1 
        }
        if(NR > 1) {
                usec = nf[4] - lf[4]
                sec = nf[3] - lf[3]
                min = nf[2] - lf[2]
                hr = nf[1] - lf[1]
                if(usec < 0) {usec += 1000000; sec--}
                if(sec < 0) {sec += 60; min--}
                if(min < 0) {min += 60; hr--}
                if(hr < 0) hr += 24
                printf "%2d:%02d:%02d.%06d\n", hr, min, sec, usec
        }
        for(i = 1; i <= 4; i++) lf[i] = nf[i]
        printf "%20s: ", $2
}
END {   printf "unknown (no end time stamp)\n"
}' in

with the file in containing:
Code:
15:09:50.350038  Reading A Data
15:09:50.371645  Reading B Data
15:10:55.655724  Initializing models
15:11:31.320920  Preparing Simulation
15:11:32.763217  Running Calculation
15:15:29.668882  Aggregating Results
15:15:29.950897  Persisting Results
23:59:59.000000  1 minute to midnight
00:00:00.000000  midnight
23:59:59.999999  eod
00:00:00.000001  early
00:00:00.000000  next midnight

the ouput produced is:
Code:
      Reading A Data:  0:00:00.021607
      Reading B Data:  0:01:05.284079
 Initializing models:  0:00:35.665196
Preparing Simulation:  0:00:01.442297
 Running Calculation:  0:03:56.905665
 Aggregating Results:  0:00:00.282015
  Persisting Results:  8:44:29.049103
1 minute to midnight:  0:00:01.000000
            midnight: 23:59:59.999999
                 eod:  0:00:00.000002
               early: 23:59:59.999999
       next midnight: unknown (no end time stamp)

This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Compare file time

i need to write script where I need to keep monitoring a files timestamp, if it changes, I need to run another abc.sh script. I am thinking I can save file's current timestamp in another file or enviornment variable and after 10 min compare the files timestamp with the original timestamp. If... (1 Reply)
Discussion started by: pdr302
1 Replies

2. UNIX for Dummies Questions & Answers

Need to get 4 Hrs back time and compare with successive time

Hi all, I am working on a script in which i need to get 4 hrs back time from the current time which i got from this perl function : `perl -e 'print localtime(time() - 14400) . "\n"'` now i need to get this in a loop and increment that time by 15 minutes i.e i=900(=15minutes) `perl... (2 Replies)
Discussion started by: maanik85
2 Replies

3. Shell Programming and Scripting

Convert Epoch time format to normal date time format in the same file

I have a file named "suspected" with series of line like these : {'protocol': 17, 'service': 'BitTorrent KRPC', 'server': '219.78.120.166', 'client_port': 52044, 'client': '10.64.68.44', 'server_port': 8291, 'time': 1226506312L, 'serverhostname': ''} {'protocol': 17, 'service': 'BitTorrent... (3 Replies)
Discussion started by: rk4k
3 Replies

4. Shell Programming and Scripting

How to compare the mtime of a file with the current time?

Hi, I wondered if we could do this with shell script? How to compare the mtime of a file with the current time and check whether its less than 24 hours. Thanks.:b: (2 Replies)
Discussion started by: Krsh
2 Replies

5. Shell Programming and Scripting

Compare Last Modified Time across Time Zone

Hi, I'm new to shell script programming, I only have Java programming background. I'm writing a shell script to do file synchronization between 2 machines that located at different time zone area. Both machine were set its time zone according to its geographical location (Eg: server is at... (1 Reply)
Discussion started by: python
1 Replies

6. Shell Programming and Scripting

Compare current time to timestamp on a file

I'm trying to compare 2 dates between current time and the timestamp on a file. The date format is mmdd Both return Apr 1 but when using if statement line 11: Apr 1: command not found error is returned #!/bin/sh log="DateLog" Current_Date=`date +%b%e` Filepmdate=`ls -l /file.txt |... (1 Reply)
Discussion started by: cillmor
1 Replies

7. Shell Programming and Scripting

Match list of strings in File A and compare with File B, C and write to a output file in CSV format

Hi Friends, I'm a great fan of this forum... it has helped me tone my skills in shell scripting. I have a challenge here, which I'm sure you guys would help me in achieving... File A has a list of job ids and I need to compare this with the File B (*.log) and File C (extend *.log) and copy... (6 Replies)
Discussion started by: asnandhakumar
6 Replies

8. Shell Programming and Scripting

Long list file display different time format.

Hi Gurus, I have some weird issue. when using ls -l the result shows different time format: -rw-r--r-- 1 abc gourp1 3032605576 Jun 14 2013 abc -rw-rw-r-- 1 abc gourp1 1689948832 Aug 10 06:22 abc one display 2013 which is year; another one displays 06:22 which is time. ... (4 Replies)
Discussion started by: ken6503
4 Replies

9. Shell Programming and Scripting

Compare actual files with format

Hi, I have database table let say t_filenames which stores filenames and date_format in two columns. e.g. ABCD_TV_YYYYMMDD.txt YYYYMMDD ABCD_MOUSE_YYYYMMDDHHMISS.txt YYYYMMDDHHMISS Actual files are available in a directory (say /tmp), actual files are with... (2 Replies)
Discussion started by: pointers1234
2 Replies

10. Shell Programming and Scripting

Calculate Time diff in milli milliseconds(Time format : HH:MM:SS,NNN)

Hi All, I have one file which contains time for request and response. I want to calculate time difference in milliseconds for each line. This file can contain 10K lines. Sample file with 4 lines. for first line. Request Time: 15:23:45,255 Response Time: 15:23:45,258 Time diff... (6 Replies)
Discussion started by: Raza Ali
6 Replies
SDL_CDOpen(3)							 SDL API Reference						     SDL_CDOpen(3)

NAME
SDL_CDOpen - Opens a CD-ROM drive for access. SYNOPSIS
#include "SDL.h" SDL_CD *SDL_CDOpen(int drive); DESCRIPTION
Opens a CD-ROM drive for access. It returns a SDL_CD structure on success, or NULL if the drive was invalid or busy. This newly opened CD- ROM becomes the default CD used when other CD functions are passed a NULL CD-ROM handle. Drives are numbered starting with 0. Drive 0 is the system default CD-ROM. EXAMPLES
SDL_CD *cdrom; int cur_track; int min, sec, frame; SDL_Init(SDL_INIT_CDROM); atexit(SDL_Quit); /* Check for CD drives */ if(!SDL_CDNumDrives()){ /* None found */ fprintf(stderr, "No CDROM devices available "); exit(-1); } /* Open the default drive */ cdrom=SDL_CDOpen(0); /* Did if open? Check if cdrom is NULL */ if(!cdrom){ fprintf(stderr, "Couldn't open drive: %s ", SDL_GetError()); exit(-1); } /* Print Volume info */ printf("Name: %s ", SDL_CDName(0)); printf("Tracks: %d ", cdrom->numtracks); for(cur_track=0;cur_track < cdrom->numtracks; cur_track++){ FRAMES_TO_MSF(cdrom->track[cur_track].length, &min, &sec, &frame); printf(" Track %d: Length %d:%d ", cur_track, min, sec); } SDL_CDClose(cdrom); SEE ALSO
SDL_CD, SDL_CDtrack, SDL_CDClose SDL
Tue 11 Sep 2001, 22:58 SDL_CDOpen(3)
All times are GMT -4. The time now is 02:20 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy