Converting the date format


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Converting the date format
# 1  
Old 05-07-2011
Java Converting the date format

Hi All,

I am new to this forum. Could anyone help me to resolve the following issue.

Input of the flat file contains several lines of text for example find below:
Code:
5022090,2,4,7154,88,,,,,4/1/2011 0:00,Z,L,2
5022090,3,1,6648,88,,,,,4/1/2011 0:00,Z,,1
5022090,4,1,6648,88,,,,,4/1/2011 0:00,Z,,1

output:
Code:
5022090,2,4,7154,88,,,,,01-Apr-2011,Z,L,2
5022090,3,1,6648,88,,,,,01-Apr-2011,Z,,1
5022090,4,1,6648,88,,,,,01-Apr-2011,Z,,1


I am using a client server using putty.


Information:

This is for one particular flat file while in other flat files the date field may contain at some other column the column of the date field is not common to all the flat files..

Last edited by radoulov; 05-07-2011 at 07:18 AM.. Reason: Code tags, please!
# 2  
Old 05-07-2011
Quote:
I am using a client server using putty.
Putty is a terminal emulator, it can talk to anything, knowing you use putty isn't useful.

To find out what your system is, try uname and uname -a. What tools you have available may be very different on different systems.
# 3  
Old 05-07-2011
Hi,

Thanks for the response

I have tried the following it thrown me this:
Code:
 
$ uname
SunOS

$ uname -a
SunOS cdrp06 5.8 Generic_117350-38 sun4u sparc SUNW,Sun-Fire

Could you please give me the code which converts the date format from the flat file as specified in the previous post

Last edited by Scott; 05-08-2011 at 09:40 AM.. Reason: Code tags
# 4  
Old 05-08-2011
Some pointers

since you say that in each file, the column no, containing the date may be different, the fist thing is that you program/script must take the file name and column number as arguments.

I would use "awk" (my favourite filter) called from a shell script by:
<Shell script> <FileName> <ColumnNo>
Within the shell script
awk 'A=$1 b=$2 {awk script} ;;;

In the example, it is the 10 th field (when separated by commas).

For each line:
-- Split the 10th filed into an array using "split" function"
-- Replace the month with the appropriate text (if .. else ..)
-- Write the first 9 fields, the rearranged 10 filed and any other fileds.


OK
# 5  
Old 05-08-2011
Try this, this should work if date is present in any column

Code:
awk -F"," '{for(i=1;i<NF;i++){t=match($i,/:/,_1);
if(t!=0){_2="date -d \""$i"\" +'%d-%h-%Y'"; _2|getline _d;$i=_d;print}} }' OFS="," inputfile

regards,
Ahamed
# 6  
Old 05-08-2011
Got perl?
Code:
perl -F, -ane '{ 
  @mons=qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec) ; 
   foreach(@F) { 
      if(/(\d{1,2})\/(\d{1,2})\/(\d{4})/) {
          $_="$2-$mons[$1-1]-$3";
      } 
   } 
print join(",",@F);}' input

# 7  
Old 05-09-2011
Java Perl worked

Hi Mirni,

Thanks for the code it got worked perfectly. Smilie Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk - problems by converting date-format

Hi i try to change the date-format from DD/MM/YYYY into MM/DD/YY. Input-Data: ... 31/12/2013,23:40,198.00,6.20,2,2,2,1,11580.0,222 31/12/2013,23:50,209.00,7.30,2,2,3,0,4380.0 01/01/2014,00:00,205.90,8.30,2,2,3,1,9360.0,223 ... Output-Data should be: ...... (7 Replies)
Discussion started by: IMPe
7 Replies

2. UNIX for Dummies Questions & Answers

Rename all Files in a UNIX Directory from one date format to another date format

Hi Unix Gurus, I would like to rename several files in a Unix Directory . The filenames can have more than 1 underscore ( _ ) and the last underscore is always followed by a date in the format mmddyyyy. The Extension of the files can be .txt or .pdf or .xls etc and is case insensitive ie... (1 Reply)
Discussion started by: pchegoor
1 Replies

3. Shell Programming and Scripting

Converting a date to friday date and finding Min/Max date

Dear all, I have 2 questions. I have a file with many rows which has date of the format YYYYMMDD. 1. I need to change the date to that weeks friday date(Ex: 20120716(monday) to 20120720). Satuday/Sunday has to be changed to next week friday date too. 2. After converting the date to... (10 Replies)
Discussion started by: 2001.arun
10 Replies

4. UNIX for Advanced & Expert Users

Converting the date format in a flat file

Hi All, I am new to this forum, could any one help me out in resolving the below issue. Input of the flat file contains several lines of text for example find below: 5022090,2,4,7154,88,,,,,4/1/2011 0:00,Z,L,2 5022090,3,1,6648,88,,,,,4/1/2011 0:00,Z,,1... (0 Replies)
Discussion started by: av_sagar
0 Replies

5. Shell Programming and Scripting

converting Date format

Dear Friends, We have date in output as MM/DD/YYYY format and I want to convert it in DD/MM/YYYY format. e.g. 12/31/2010 to 31/12/2010 We have checked forum for the solution but we are not getting matching query. Please guide us Thanks Anushree. (6 Replies)
Discussion started by: anushree.a
6 Replies

6. Shell Programming and Scripting

Converting windows format file to unix format using script

Hi, I am having couple of files which i used to copy from windows to Linux, so now in case of text files (CTRL^M) appears at end of line. I know i can convert this windows format file to unix format file by running dos2unix. My requirement here is that i want to do it automatically using a... (5 Replies)
Discussion started by: sarbjit
5 Replies

7. Shell Programming and Scripting

convert date format to mysql date format in log file

I have a comma delimited log file which has the date as MM/DD/YY in the 2nd column, and HH:MM:SS in the 3rd column. I need to change the date format to YYYY-MM-DD and merge it with the the time HH:MM:SS. How will I got about this? Sample input 02/27/09,23:52:31 02/27/09,23:52:52... (3 Replies)
Discussion started by: hazno
3 Replies

8. Shell Programming and Scripting

converting date format

Hi Please anyone to help to write script to convert date to 'yyyy-mm-dd'(If column is date convert) because my file has large and lot of date colums. If file is small ,using awk command to achive. cat file1|awk 'BEGIN {FS=OFS='|'}... (7 Replies)
Discussion started by: mohan705
7 Replies

9. UNIX for Dummies Questions & Answers

Converting the File Creation Date to a new format

I need to capture a file's creation/modification date and time and convert this to a different format, whilst I can easily get the existing format from a ls -l | awk ' { print $......}' or a cut command I do not know how to convert it to a desired format? I should add that at present the ls -l... (1 Reply)
Discussion started by: barney_clough
1 Replies
Login or Register to Ask a Question