Stupid of me to miss that. Most sed implementations want backslashes on the parentheses.
And if they're really stupid they don't even understand the +
But that just rearranges the order of the fields, it doesn't magically convert month names to numbers. There was another thread on that recently.
The printf format error would seem to indicate you do not have ksh93 version h or better, is that correct? Read what fpmurphy wrote.
The general problem of a myriad different date formats is still not really tackled. I don't know if it could be -- how do you know if 03/12 is December 3rd or March 12th? (In computer-generated dates, dashes are usually an indication of European, aka sane order, whereas slashes tend to be used in American dates; but it depends on the application which generated these. Or are they human-generated? And of course, if they are written by Americans, you can make certain assumptions.)
Just to top off this thread, here's a feeble attempt at converting month names to numbers, in sed.
it is not working.......
file1
E108,0,2/3/1995,0,E001,E003,A,15000,1250,7.211538
E109,0,2/15/1995,0,E001,E001,A,78000,6500,37.5
E110,0,10/12/1995,0,E001,E001,A,56000,4666.667,26.923077
and on this file i am going to do more process like sort and compare.....with other files which has this date format...........
And is it possible to hold the date value in a string variable while reading from a file..........i am here with developing a tool which should process within a min......And i am new to unix.
Please let me know on this how to do that..........asap
The code I posted only handles the conversion of abbreviated month names to numbers.
I don't understand "hold the date value in a string variable while reading from a file", I mean yes you can do that, but do you mean read it for each line, or what? Backticks would be a typical solution to this sort of problem, or if you are reading the file line by line in a while loop, then by all means continue to do that.
I would write a small awk or perl script with heuristics for each possible date format. Only you know how wild the variation is; I have seen three different formats in the samples you have posted, so tackling only those should be doable.
Hi ,
we have a string with yyyymmdd format .
how to know which date it is ?
example:20120712-->sunday
20150228-->saturday
20140431-->invalid
please suggest commands which work on below
os : SunOS 5.10
shell: bash shell
Thanks,
Srinath. (10 Replies)
Trying to convert dates using a Perl Script but it has to accept formats like
3 letter month, day and year like Nov 02 2010 or 1/4/11 or 21 Feb 2011 and have it convert to something like October 20, 2011. Any ideas? (2 Replies)
Hi all,
I require to convert julian date to normal calander date in unix
for eg julian date=122
now i want corresponding calander date
----------------------------------------
gr8 if give very small command/script
and please explain the steps as well(imp)
Thanks
... (3 Replies)
Hi,
I have the string YYYYMMDDHHMMSS like 20090801204150 and I need to convert it using the unix command date in the format:
date "Saturday, 1 August 2009 20:40:59"
All in one single Unix line if this is possible. What's the correct syntax?
Steve Hagi (6 Replies)
Hi
I want to convert MAY 05 2005 01:15:00PM date format to 2005/05/05 01:15:00PM .
CAn somebody suggest me a code ,I am new to unix shell programming.
Thanks
Arif (21 Replies)
Hello,
I want to convert MM DD YYYY date format to MM-DD-YYYY format.
For exemple:
I have to convert Nov 28 2005 to 28-11-2005.
Thenks for youf help.
DAFI (2 Replies)