Visit Our UNIX and Linux User Community


Change date format


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Change date format
# 1  
Old 03-18-2010
Change date format

Hi guys,
I have a text file with lots of lines like this:

MCOGT23R27815 27/07/07 27/05/09
SO733AM0235 30/11/07 30/11/10
NL123403N 04/03/08 04/03/11
0747AM7474 04/04/08 04/04/11

I want to change each line so the date format looks like this:

MCOGT23R27815 07/07/27 09/05/27
SO733AM0235 07/11/30 10/11/30
NL123403N 08/03/04 11/03/04
0747AM7474 08/04/04 11/04/04

Thanks..
note:this is on a Solaris10 system
Tornado
# 2  
Old 03-18-2010
Post witdrawn.
# 3  
Old 03-18-2010
Code:
$ 
$ cat -n f7
     1  MCOGT23R27815 27/07/07 27/05/09
     2  SO733AM0235 30/11/07 30/11/10
     3  NL123403N 04/03/08 04/03/11
     4  0747AM7474 04/04/08 04/04/11
$ 
$ perl -lne 'chomp; @x=split/[ \/]/; print "$x[0] $x[3]/$x[2]/$x[1] $x[6]/$x[5]/$x[4]"' f7
MCOGT23R27815 07/07/27 09/05/27
SO733AM0235 07/11/30 10/11/30
NL123403N 08/03/04 11/03/04
0747AM7474 08/04/04 11/04/04
$

tyler_durden
# 4  
Old 03-18-2010
Thanks for that.
One thing I forgot to mention is that the delimiter is not a space, it is a tab
Tornado
# 5  
Old 03-18-2010
Code:
perl -ple 's|(^\S+\s+)(\d{2})/(\d{2})/(\d{2}\s+)(\d{2})/(\d{2})/(\d{2})|\1\3/\2/\4\6/\5/\7|;' yourfile

For a tab:

Code:
perl -ple 's|(^\S+\t)(\d{2})/(\d{2})/(\d{2}\t)(\d{2})/(\d{2})/(\d{2})|\1\3/\2/\4\6/\5/\7|;' yourfile


Last edited by drewk; 03-18-2010 at 08:40 PM..
# 6  
Old 03-18-2010
Thanks for the help guys, I have it working in my script now.
Tornado
# 7  
Old 03-18-2010
Code:
awk -F "\t|\/" '{printf "%s\t%s\/%s\/%s\t%s\/%s\/%s\n",$1,$4,$3,$2,$7,$6,$5}' urfile


Previous Thread | Next Thread
Test Your Knowledge in Computers #409
Difficulty: Medium
XENIX is a discontinued version of the UNIX operating system for various microcomputer platforms, licensed by Microsoft from AT&T Corporation in the late 1970s.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Change the date format

Hi, I was looking for a script to change the date from one format to other. A search in the forum gave me the below script as a result. #! /bin/ksh format=YYYYMMDD YEAR=${format%????} DAY=${format#??????} MON=${format#$YEAR} MON=${MON%$DAY} echo $MON/$DAY/$YEAR I got it... (2 Replies)
Discussion started by: prithvirao17
2 Replies

2. Shell Programming and Scripting

Change the date format

Hi all, I have a file that every line starts with the date and time. The format is like YYYYMMDDHHMM and I woulk like to change it to MM/DD/YY<space>HH:MM. I tried to figure out a way to do it with sed, but I don't know how I could reorganize the digits of the first format. Does anyone have any... (1 Reply)
Discussion started by: geovas
1 Replies

3. Shell Programming and Scripting

change date format

Hi, I have the variable "$date_update" in that form: 2011-12-31T13:00:09Z and I would like to change it to 31/12/2011 13:00:09 (Date and Time separated by a blank). Does anyone has a simple solution for that? (using Korn Shell) Cheers Jurgen (4 Replies)
Discussion started by: jurgen
4 Replies

4. Shell Programming and Scripting

Date format change

Dear Friends, Need your help once again, I have a variable ( e.g. ${i}) whoch has date in MM/DD/YYYY (E.g. 12/31/2011) format. I want to change it to DD/MM/YYYY (e.g. 31/12/2011) format. Request you to guide me as we are unable to do the same. Thanks in advance Anu. (1 Reply)
Discussion started by: anushree.a
1 Replies

5. Shell Programming and Scripting

Date Format Change

Hi, Please can I have some command to get yesterday in YYMMDD format? This will be used in ksh Thanks, (2 Replies)
Discussion started by: smalya
2 Replies

6. Shell Programming and Scripting

Date Format Change

Hi I have a date format in a variable as Mon Jan 11 03:35:59 2010. how do i change it to YYYYMMDD format (3 Replies)
Discussion started by: keerthan
3 Replies

7. Solaris

change date format

dear members, ls -l drwxr-xr-x 40 root sys 1024 Jul 11 22:19 usr drwxr-xr-x 43 root sys 1024 Feb 1 2009 var i am using solaris 10 is that possibe to do drwxr-xr-x 40 root sys 1024 25-08-2009 22:19 usr drwxr-xr-x 43 root sys ... (4 Replies)
Discussion started by: hosney00ux
4 Replies

8. Shell Programming and Scripting

How to Change the Format of a Date

Hi All, this is my second post, last post reply was very helpful. I have a data that has date in DD/MM/YYYY (07/11/2008) format i want to replace the backslash by a dot(.) so that my awk script can read it inside the C shell script that i have written. i want to change 07/11/2008 to... (3 Replies)
Discussion started by: asirohi
3 Replies

9. UNIX for Advanced & Expert Users

Change date format

I know the command date +"%Y%m%d" can change today's date to digit format as below . $date +"%Y%m%d" 20071217 it works fine . now I want to do it back . If I have a file like below, (in the file , there are three lines, and each line have ; sign , after the ; sign is the date ) , I... (4 Replies)
Discussion started by: ust
4 Replies

10. UNIX for Dummies Questions & Answers

How to change it to the date format

Hi, I want to know how to change this string to date format 20061102122042 to 02-11-2006 12:20:42 or 02-Nov-2006 12:20:42 Please let me know at the earliest.Thanks in advance. Regards, Preetham R. (3 Replies)
Discussion started by: preethgideon
3 Replies

Featured Tech Videos