Visit Our UNIX and Linux User Community

Time difference

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Time difference
# 1  
Old 06-17-2010
Time difference


I have a tab delimited file with GMT time. How to convert the GMT to PST time and store the line only if date falls to 2 days ago date.
Say today is 16, date should be of 14. or else remove the line
abc  -       -       [13/Jun/2010:06:30:04    +0000]
efg  -       -       [14/Jun/2010:23:30:35    +0000]
hij  -       -       [15/Jun/2010:08:00:56    +0000]
kln  -       -       [15/Jun/2010:01:00:34    +0000]
abc  -       -       [16/Jun/2010:06:30:04    +0000]
efg  -       -       [17/Jun/2010:23:30:35    +0000]
hij  -       -       [15/Jun/2010:08:00:56    +0000]
 kln  -       -       [16/Jun/2010:01:00:34    +0000]

# 2  
Old 06-17-2010
Hi, if you have GNU date you can do this to print dates up to 2 days ago:
while IFS="$IFS[]:/" read c1 c2 c3 day mon year hour min sec tz; do
  if [ $(date -d "2 days ago" +%s) -le $(date -d "$day $mon $year $hour:$min:$sec +$tz" +%s) ] ; then
    printf "%s\t%s\t%s\t[%s\t%s]\n" $c1 $c2 $c3 $(TZ=PST8PDT date -d "$day $mon $year $hour:$min:$sec +$tz" "+%d/%b/%Y:%H:%M:%S %z")

abc     -       -       [15/Jun/2010:23:30:04   -0700]
efg     -       -       [17/Jun/2010:16:30:35   -0700]
kln     -       -       [15/Jun/2010:18:00:34   -0700]

Otherwise it gets a lot more complicated and you have to look for shell libraries that are posted on this forum.

Last edited by Scrutinizer; 06-20-2010 at 08:42 AM..
# 3  
Old 06-17-2010
Check the FAQ article:

You should find what you're after in there :-)
# 4  
Old 06-18-2010
date: invalid date `13 Jun 2010 06:30:04 ++0000]' ./ line 4: [: 1276600837: unary operator expected

I am getting this error when i run the script .

---------- Post updated at 11:42 PM ---------- Previous update was at 06:22 AM ----------

date: invalid date `13 Jun 2010 06:30:04 ++0000]' error when i run the script. Can you please tell me what is the problem

---------- Post updated 06-18-10 at 01:53 AM ---------- Previous update was 06-17-10 at 11:42 PM ----------

Please tell me why is this error I am getting
# 5  
Old 06-18-2010
I am guessing you do not have GNU date?
# 6  
Old 06-18-2010

How to check about the GNU date.
If not can you please tell me what is the other solution which can be used
# 7  
Old 06-18-2010
date --version

Should say date (GNU coreutils)

Previous Thread | Next Thread
Test Your Knowledge in Computers #411
Difficulty: Medium
Aside from its AT&T UNIX base, XENIX incorporated elements from BSD, notably the vi text editor and its supporting libraries (termcap and curses).
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Time difference between two time stamps

Hi Friends, I have 2 varaibles which contain START=`date '+ %m/%d/%y %H:%M:%S'` END=`date '+ %m/%d/%y %H:%M:%S'` i want the time difference between the two variables in Seconds. Plz help. (2 Replies)
Discussion started by: i150371485
2 Replies

2. Programming

time difference in MySql

Hi All I want the time difference from current date time For eg. From current date time i want to subtract 10 hrs and after subtracting i want the resultant in date time in MySql (1 Reply)
Discussion started by: parthmittal2007
1 Replies

3. Shell Programming and Scripting

Time Difference

Is this way of finding the time difference a correct way of doing it or is it error-prone. #****Check if lastrun exist. If exists check if the difference is 1 hour or not and act accordingly*********************** if ; then lastrun_time=`cat $LOG_DIR/lastrun` curr_time=`date +%s` ... (4 Replies)
Discussion started by: sreekanthragi
4 Replies

4. SCO

Time difference

Need some help please. I am running SCO Openserver 5.07 on a Windows 2003 Server with VMware Server 1 If I run # ps -ef|grep /etc/cron the date that it shows the cron process started is older than the date I get from running the uptime command. In other words it looks like the date... (2 Replies)
Discussion started by: wjace
2 Replies

5. Shell Programming and Scripting

How to calculate time difference between start and end time of a process!

Hello All, I have a problem calculating the time difference between start and end timings...! the timings are given by 24hr format.. Start Date : 08/05/10 12:55 End Date : 08/09/10 06:50 above values are in mm/dd/yy hh:mm format. Now the thing is, 7th(08/07/10) and... (16 Replies)
Discussion started by: smarty86
16 Replies

6. Shell Programming and Scripting

Time Difference

Hi Experts... I want to calculate the time difference between two date-time values (using ksh). It can return the difference in hours (or whatever..) For eg: time_diff "09/12/2009 12:30" "09/10/2009 12:30" should return 1464 hours... $time_diff "09/12/2009 12:30:00" "09/10/2009... (5 Replies)
Discussion started by: PRKS
5 Replies

7. Shell Programming and Scripting

How to calculate this time difference

Hi, Please help me in calculating the time difference between below mentioned timestamps. a=07/17/2007 02:20:00 AM MST b=07/17/2007 02:07:46 AM MST Thanks (2 Replies)
Discussion started by: Prat007
2 Replies

8. Shell Programming and Scripting

Time difference

Hi All, I know there has been a lot of things that have been written about date arithmetic, but perhaps I have missed something.. The following script takes the input from a file name fail.txt with the following format: CLASSDB 20060328122808 CPPARMS 20060814222056 Where $1 is a file name... (4 Replies)
Discussion started by: Segwar
4 Replies

9. UNIX for Advanced & Expert Users

time difference

Hi, i have one hard coded time which will be 23:45 and one will be sysdate (same date) and time less than 23:45. i want to start my job at 23:45 and the input file will be arriving before that. so i want to make sure that the task starts only at 23:45 and from the input file time till 23:45... (3 Replies)
Discussion started by: decci_7
3 Replies

10. Shell Programming and Scripting

Time difference calculations

Hi All.. Does anyone have a useful function where I can enter two date/timestamps and it calculates the difference in time in hours, minutes and seconds between the 2? Any feedback much appreciated. :D Kind Regards Satnam (1 Reply)
Discussion started by: satnamx
1 Replies

Featured Tech Videos