date conversion


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting date conversion
# 1  
Old 03-29-2008
date conversion

file1
E106,0,1/9/1993,0,E001,E003,A,45200,3766.667,21.730769
E108,0,2/3/1995,0,E001,E003,A,15000,1250,7.211538
E109,0,06-mar-07,0,E001,E001,A,78000,6500,37.5
E110,0,09-dec-2008,0,E001,E001,A,56000,4666.667,26.923077
E104,0,06/04/1994,0,E001,E003,A,95000,7916.667,45.673077
E105,0,7/30/1993,0,E001,E003,A,87000,7250,41.826923
E106,0,1/9/1993,0,E001,E003,A,45200,3766.667,21.730769
E108,0,01-feb-2008,0,E001,E003,A,15000,1250,7.211538
E109,0,2/15/1995,0,E001,E001,A,78000,6500,37.5

I want to convert the date format to yyyymmdd for a every line in a file.

Please let me know on this....


Thanks in advance
cherry
# 2  
Old 03-29-2008
Code:
cat file | sed -E 's/([0-9][0-9])-([[:alpha:]]+)-([0-9]{4})/\3\2\1/'

And case for month.
# 3  
Old 03-30-2008
Thanks for code ....

But, iam getting the following error ....

-----------------------------------------------------------
sed: illegal option 'E'
usage: sed script [-anW] [file ...]
sed [-anW] [-e script] ... [-f script_file] ...[file ...]
--------------------------------------------------------------

can you explain the code ? Please help me .......
# 4  
Old 03-30-2008
Code:
cat file | sed -e 's/([0-9][0-9])-([[:alpha:]]+)-([0-9]{4})/$3$2$1/'

# 5  
Old 03-30-2008
Take out the Useless Use of Cat while you are at it.

I don't think basic sed knows about $1 $2 $3, try with \3\2\1 instead.

Code:
sed -e 's/([0-9][0-9])-([[:alpha:]]+)-([0-9]{4})/\3\2\1/' file

But then, if you have a really pedestrian sed, it probably doesn't grok [[:alpha:]] or {4} either.

Code:
sed -e 's/([0-9][0-9])-([A-Za-z]+)-([0-9][0-9][0-9][0-9])/\3\2\1/' file

# 6  
Old 03-30-2008
If you have ksh93 version h or better you can use the printf %T feature to easily do the date format conversion i.e.

Code:
#!/usr/bin/ksh93

IFS=','
while read v1 v2 v3 v4
do
    printf "%s,%s,%(%Y%m%d)T,%s\n" $v1 $v2 $v3 "$v4"
done < file

# 7  
Old 03-31-2008
hi

Quote:
Originally Posted by redhead
Code:
cat file | sed -e 's/([0-9][0-9])-([[:alpha:]]+)-([0-9]{4})/$3$2$1/'

I checked the code but it is not working
cat > file6
E106,0,1/9/1993,0,E001,E003,A,45200,3766.667,21.730769
$ cat file6 | sed -e 's/([0-9][0-9])-([[:alpha:]]+)-([0-9]{4})/$3$2$1/'
E106,0,1/9/1993,0,E001,E003,A,45200,3766.667,21.730769


it is giving the same formate.......And i need to validate every line
in a file

yyyymmdd formate.........
E102 0 1/23/1994 0
E104 0 6/4/1994 0
E105 0 7/30/1993 0
E106 0 1/9/1993 0
E108 0 2/3/1995 0
E109 0 2/15/1995 0
E110 0 10/12/1995 0

result
E102 0 19940123 0
E104 0 19940604 0
E105 0 19930730 0
E106 0 19930109 0
E108 0 19950203 0
E109 0 19950215 0
E110 0 19951012 0
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Date conversion

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)
Discussion started by: srinadhreddy27
10 Replies

2. Shell Programming and Scripting

Date conversion

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)
Discussion started by: reduxeffect81
2 Replies

3. Shell Programming and Scripting

Julian date to Calendar date conversion

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)
Discussion started by: RahulJoshi
3 Replies

4. UNIX for Dummies Questions & Answers

Date conversion in ab i

(string(8)) ((date("YYYYMMDD")) ((date("YYYY/MM/DD")) in.date_field_name)) (1 Reply)
Discussion started by: dr46014
1 Replies

5. Shell Programming and Scripting

Conversion of date to Julian date

Hi Gurus, Need help in Conversion of date(2007-11-30) to Julian date(YYDDD)... '+%J' 2007-11-30 to 'YYDDD' Thanks (4 Replies)
Discussion started by: SeenuGuddu
4 Replies

6. Shell Programming and Scripting

Date conversion

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)
Discussion started by: hagimeno
6 Replies

7. Shell Programming and Scripting

Date conversion

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)
Discussion started by: mab_arif16
21 Replies

8. Shell Programming and Scripting

Date Conversion

Hi, Does anyone know (in KSH, CSH, SED or AWK), how to convert date text in a file from: EX: May232008 to: 05232008 Thanks, (3 Replies)
Discussion started by: jgrant746
3 Replies

9. Shell Programming and Scripting

date conversion

Hi everybody: Could anybody tell me how I convert from a julian date, with shell comands, to gregorian. Thanks in advance. (2 Replies)
Discussion started by: tonet
2 Replies

10. UNIX for Advanced & Expert Users

Date Conversion

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)
Discussion started by: dafidak
2 Replies
Login or Register to Ask a Question