Convert date column as yyyy/mm/dd format


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Convert date column as yyyy/mm/dd format
# 8  
Old 05-06-2013
If you want a more portable script (that will work on systems whether or not the date utility supports the -d option), you could try something like:
Code:
awk -F'"' '
BEGIN { m["January"] = 1
        m["February"] = 2
        m["March"] = 3
        m["April"] = 4
        m["May"] = 5
        m["June"] = 6
        m["July"] = 7
        m["August"] = 8
        m["September"] = 9
        m["October"] = 10
        m["November"] = 11
        m["December"] = 12
}
{       if((n = split($2, dt, /,* /)) != 3) {
                printf("Date field <<%s>> not in expected format.\n", $2)
                next
        }
        printf("\"%s/%02d/%02d\",\"%s\"\n", dt[3], m[dt[1]], dt[2], $4)
}' test.txt

This script assumes that the contents of test.txt only contains regular double quote characters rather than a mixture of opening and closing double quotes.

(On a Solaris/SunOS system, use /usr/xpg4/bin/awk, /usr/xpg6/bin/awk, or nawk instead of awk.)
# 9  
Old 05-06-2013
Thank lot.. i will try..

---------- Post updated at 06:17 AM ---------- Previous update was at 02:29 AM ----------

@Don.. i tried with awk command not working.. it raising the below error..

Code:
 Date field <<>> not in expected format.
Date field <<>> not in expected format.

# 10  
Old 05-06-2013
Quote:
Originally Posted by bmk
Thank lot.. i will try..

---------- Post updated at 06:17 AM ---------- Previous update was at 02:29 AM ----------

@Don.. i tried with awk command not working.. it raising the below error..

Code:
 Date field <<>> not in expected format.
Date field <<>> not in expected format.

I said:
Quote:
This script assumes that the contents of test.txt only contains regular double quote characters rather than a mixture of opening and closing double quotes.
To get the error messages above, my assumption was obviously incorrect.

Change the first line of the script from:
Code:
awk -F'"' '

to:
Code:
awk -F'[“"”]' '

and it should work with any mix of different types of double quote characters.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

How to convert mmm-yy to mm/dd/yyyy format in UNIX ?

How to convert mmm-yy to mm/dd/yyyy format in unix ? example: Jan-99 to 01/01/1999 Jan-00 to 01/01/2000 Jan-25 to 01/01/2025 Dec-99 to 01/12/1999 Dec-00 to 01/12/2000 Dec-25 to 01/12/2025 YY anything between 00-50 should be 2000-2050 YY anything between 51-99 should be 1951-1999 ... (2 Replies)
Discussion started by: gksenthilkumar
2 Replies

2. Shell Programming and Scripting

Date format YYYY/MM/DD to DD/MM/YYYY

I am getting output of YYYY-MM-DD and want to change this to DD/MM/YYYY. When am running the query in 'Todd' to_date(column_name,'DD/MM/YYYY') am getting the required o/p of DD/MM/YYYY, But when am executing the same query(Netezza) in linux server(bash) am getting the output of YYYY-MM-DD file... (3 Replies)
Discussion started by: Roozo
3 Replies

3. Shell Programming and Scripting

Convert date in dd mm yyyy format to UNIX timestamp

Hello All, I have a date in DD/MM/YYYY format. I am trying to convert this into unix timestamp. I have tried following: date -d $mydate +%s where mydate = 23/12/2016 00:00:00 I am getting following error: date: extra operand `+%s' Try `date --help' for more information. ... (1 Reply)
Discussion started by: angshuman
1 Replies

4. Shell Programming and Scripting

Date Format MM/DD/YYYY

I am changing epoch times to dates. I was able to do the following: echo "$varx" | gawk '{print strftime("%c", $0)}' Mon Dec 31 16:26:40 2012 This changes the epoch date (which is what varx is) into localtime. However, my problem is that I only want 12/31/2012 and not the Mon Dec 31... (2 Replies)
Discussion started by: newbie2010
2 Replies

5. Shell Programming and Scripting

Convert any date format into yyyy/mm/dd

How can I convert any user inputted date into yyyy/mm/dd ? For example user can input date one of the following 20120121 , 2012-01-21 ,01/21/2012,01/21/2012 etc But I need to convert any of the date entered by user into yyyy/mm/dd (2012/01/2012). Any suggestion. Thanks in advance this is... (1 Reply)
Discussion started by: ZeroHedge
1 Replies

6. Shell Programming and Scripting

Need date in the format [mm dd yyyy hh AM/PM]

could you please help be on the below code .. Requirement is when i pass the parameter(for below 2) i should get current time -2 hours in the format :wall:.. cur_dt=`$ICEBIN/sqsh -S$DSQUERY -U $BATCHID -P $PASSWD -h -C"select getdate()" | sed '2d'` pr_dt="`$ICEBIN/sqsh -S$DSQUERY -U $BATCHID... (2 Replies)
Discussion started by: karthicss
2 Replies

7. Shell Programming and Scripting

Convert the date format from mdy to ymd in column of file

The date format in the delimited file for one column '6/27/2011 12:00:00 AM' Is it possible o change it to '2011-06-27 12:00:00 AM' for all the records.. Thanks in advance..... (8 Replies)
Discussion started by: infernalhell
8 Replies

8. Shell Programming and Scripting

change date format from yyyy/mm/dd to dd/mm/yyyy

(Attention: Green PHP newbie !) I have an online inquiry form, delivering a date in the form yyyy/mm/dd to my feedback form. If the content passes several checks, the form sends an e-mail to me. All works fine. I just would like to receive the date in the form dd/mm/yyyy. I tried with some code,... (6 Replies)
Discussion started by: keyboarder
6 Replies

9. Shell Programming and Scripting

date and time in mm/dd/yyyy hh:mm format

Frens, I have a logfile which has got manier things in it and somewer in that file i have a date in mm/dd/yyyy hh:mm format.... I just need to get the date and time nothing else.... i have searched in this forum for it but got only date in mm-dd-yyyy format.. but i need to search for... (10 Replies)
Discussion started by: smarty86
10 Replies

10. Shell Programming and Scripting

convert date format YYYYMMDD to MM/DD/YYYY

In my shell script i have a variable which stores date in the format of YYYYMMDD. Is there any way to format this value to MM/DD/YYYY. Thanks. (8 Replies)
Discussion started by: nasirgondal
8 Replies
Login or Register to Ask a Question