inconsistent output using date()


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting inconsistent output using date()
# 1  
Old 02-21-2012
inconsistent output using date()

I have an input list of:


Quote:
2/10/2012 9:19 PM EST
2/10/2012 8:48 PM EST
2/16/2012 2:49 PM EST
2/16/2012 6:06 PM EST
2/14/2012 8:30 PM EST
2/13/2012 2:44 PM EST
2/13/2012 6:06 PM EST
2/14/2012 4:36 PM EST
2/11/2012 7:01 PM EST
2/16/2012 11:48 AM EST
2/15/2012 6:16 PM EST
2/13/2012 12:59 PM EST
I am just trying to turn this list into its seconds since epoch "+%s" time equivalent. I'm trying to use the following, but every time I run the command it gives me different answers, they are close, but never the same... any clues as to why?

Code:
xargs -I{} date -j -f "%m/%e/%Y %l:%M %p %Z" "{}" "+%s"

Definitely perplexed by this one. Smilie Any help would be greatly appreciated.

Oh, and I'm running this from Mac OS X on the command line.

Thanks!
# 2  
Old 02-21-2012
Is that an upper %( eye ) or a lowercase %( ell ) for the hours? Should be the ell. Otherwise your syntax looks okay to me.

Please define "small differences". Also check to see if your bash has the strftime builtin.
# 3  
Old 02-21-2012
It is an "ell" -- so I think that is good. I'm new to shell/bash, so forgive my ignorance, but how do I check to see if my bash has the strftime built in?

thanks
# 4  
Old 02-22-2012
Don't have access to a Mac OS box anymore, but I can reproduce this under FreeBSD 7.2 and 8.2. It looks like the date command is substituting the current seconds into the value. When I run it close to a minute boundary, for one of your times, I get:


Code:
Your time: 2/10/2012 8:48 PM EST

DATE EXECUTED                   FROM DATE       WHAT THAT IS
Tue Feb 21 23:00:55 EST 2012    1328924935      2012/02/10 20:48:55
Tue Feb 21 23:00:57 EST 2012    1328924937      2012/02/10 20:48:57
Tue Feb 21 23:00:58 EST 2012    1328924938      2012/02/10 20:48:58
Tue Feb 21 23:00:59 EST 2012    1328924939      2012/02/10 20:48:59
Tue Feb 21 23:01:01 EST 2012    1328924881      2012/02/10 20:48:01

Where 'date executed' is the time I ran the command, 'from date' is the epoch time date returned, and 'what that is' is what the epoch time converts back into. Notice that the date, hours and minutes are all correct, but the seconds match the execution time.

Sounds like a bug in date to me.

You might try something like this which appends :00 to the time and then passes it to xargs.

Code:
sed 's/ PM/:00 PM/; s/ AM/:00 AM/' /tmp/t | xargs -I{} /bin/date -j -f "%m/%e/%Y %l:%M:%S %p %Z" "{}" "+%s"

EDIT: If it wasn't clear, /tmp/t was my file with the list of times.

Last edited by agama; 02-22-2012 at 12:28 AM.. Reason: typo
This User Gave Thanks to agama For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Inconsistent disk information.

On one of the Unix server B.11.31. a disk that has been provisioned from the VMAX, but according to the diskinfo its show coming from clarion. sudo /opt/emc/SYMCLI/bin/symvg sho /dev/vg_<name> Volume Group Name : /dev/vg_<name> Volume Group Type : HP-UX LVM Volume Group State ... (0 Replies)
Discussion started by: kpatel786
0 Replies

2. Shell Programming and Scripting

Inconsistent behavior when sorting by column

I'm trying to sort the list below, so that multiple instances of the form pass=i_d=j are contiguous. Curiously, the standard sort command to do this works some of the time (it produced the output below) but not all of the time. the command I used was cat fileName | sort -k1.26,1.26n... (3 Replies)
Discussion started by: LeoKSimon
3 Replies

3. UNIX for Advanced & Expert Users

Iostat inconsistent avgrq-sz

Hi Experts, I have an issue with performance of oracle, the db sits on EBS volumes on and aws EC2 instance. I have captured the iostat data and feed it to iostat_plotter to forward it to the DB administrators. However what I'm trying to understand is the variable avgrq-sz, it is quite in... (0 Replies)
Discussion started by: maverick_here
0 Replies

4. Shell Programming and Scripting

Inconsistent column printing

Hi, I have a file that has inconsistently numbered columns. Like row1 has 23 columns, and row 2 has 34 columns etc. I would like to re-order the first 8 columns as required and from the 9th column till the end, I would like to print it as it is. I tried to read the re-ordered 8 columns... (7 Replies)
Discussion started by: jacobs.smith
7 Replies

5. UNIX for Dummies Questions & Answers

Comparing Output Date to Current System Date

Hi Guys, Anyone who knows how to compare the current date with the a file containing a date, say for example I have a file that looks like this: Command was launched from partition 0. ------------------------------------------------ Executing command in server server6 Fri Dec 16... (7 Replies)
Discussion started by: rymnd_12345
7 Replies

6. Shell Programming and Scripting

ps -eaf gives inconsistent result

The command ps -eaf gives inconsistent result when executed on XYZ server (the command shows 1, 2 or 3 instances of the process. Ideally it should show only 1). I have attached the script file that was executed and the corresponding output. When the same script was executed on ABC server it gave... (1 Reply)
Discussion started by: rebels
1 Replies

7. UNIX for Advanced & Expert Users

inconsistent cat output

Hi I'm executing a menu script in which I `cat a file` but it's giving different output some times. Following is the code fragment taken from my script. while true do cat procs.configured echo ---------separator-------------- sleep 3 done when I execute this code fragment, `cat` outputs... (2 Replies)
Discussion started by: axes
2 Replies

8. Shell Programming and Scripting

Inconsistent variable assignment issue

I am using a piece of code which is working fine in some cases and is not working in some other instances. All I am doing is grep'ing and concatenating. Below is a working scenario. $ echo $var1 REPLYFILENAME=Options_NSE1.txt.enc $ FILE_NM=`echo ${var1##*=}`.gz (Take everything after... (1 Reply)
Discussion started by: jamjam10k
1 Replies

9. HP-UX

Why are these inconsistent?

Hi I am using HP - UX... When I execute the below commands I get these results... Why do i get a different shell value when i run echo $SHELL? # echo $0 ksh # echo $SHELL sh # ps -p$$ PID TTY TIME COMMAND 4013 pts/7 0:00 ksh (2 Replies)
Discussion started by: gurubarancse
2 Replies

10. Filesystems, Disks and Memory

Inconsistent memory usage display

When i was trying to store a file of size 743 MB into a directory i got a msg. that the disk is full. But when i used the df -k . command on that directory it showed only 40% in usage and the disk had more than enough memory for the file. When i checked the syslog i found that at that instant of... (2 Replies)
Discussion started by: spdas
2 Replies
Login or Register to Ask a Question