Arrange date in a field


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Arrange date in a field
# 1  
Old 02-28-2006
Arrange date in a field

Hi all,

If I have a flat file
ID|Location|Date|Hostname|Age|Sex
1|SFO|06/02/24 12:12:34|hawkeye|35|M
2|LAX|06/02/24 13:12:35|sf49ers|30|M
3|OAK|06/02/25 11:12:36|goraiders|27|F
4|PIT|06/02/25 12:12:37|steeler|35|M

How can I create an output
1|SFO|02/24/2006 12:12:34|hawkeye|35|M
2|LAX|02/24/2006 13:12:35|sf49ers|30|M
3|OAK|02/25/2006 11:12:36|goraiders|27|F
4|PIT|02/25/2006 12:12:37|steeler|35|M

Thanks .
# 2  
Old 02-28-2006
What was wrong with my code ??? it look right to me but it give me the error

datetime="`echo $3 | nawk '{n=split($1, da, "/"); print da[2]"/" da[3]"/20" da[1] " " $2}'`";


this is the error `(' is not expected.

if datetime is work then I solve my problem .

I test this and it works ???
echo '06/02/25 12:05:06' | nawk '{n=split($1, da, "/"); print da[2]"/" da[3]"/20" da[1] " " $2}'

Please knock me where i made mistake .
Thanks,
# 3  
Old 02-28-2006
nawk 'BEGIN {FS="[ |/]"}
{
printf("%s|%s|%s/%s/%s %s",$1,$2,$4,$5,$3,$6);
for(i=7;i<=NF;i++)
{
printf("|%s",$i);
}
printf "\n";
}' filename

if you want to sort based on the date field, then append the following to end of above command.

| sort -t "|" -k 3.3
# 4  
Old 02-28-2006
why not try this...
Code:
datetime=`echo "$3" | awk -F"/" '{ print $2"/"substr($3,1,2)"/20"$1 }'`

# 5  
Old 02-28-2006
Oh, I would like to have the date field change as I want.

mgirinath, this one give me only the date
mahendramahendr, this one give me the out put the same as b4.


I want datetime field change from 06/02/25 11:12:36 to 02/25/2006 11:12:36
but my code got the error ? why syntax error is `(' is not expected
# 6  
Old 02-28-2006
$ more tmp1
2|LAX|06/02/24 13:12:35|sf49ers|30|M
3|OAK|06/02/25 11:12:36|goraiders|27|F
1|SFO|06/02/24 12:12:34|hawkeye|35|M
4|PIT|06/02/25 12:12:37|steeler|35|M

$ nawk 'BEGIN {FS="[ |/]"}
{
printf("%s|%s|%s/%s/%s %s",$1,$2,$4,$5,$3,$6);
for(i=7;i<=NF;i++)
{
printf("|%s",$i);
}
printf "\n";
}' tmp1
2|LAX|02/24/06 13:12:35|sf49ers|30|M
3|OAK|02/25/06 11:12:36|goraiders|27|F
1|SFO|02/24/06 12:12:34|hawkeye|35|M
4|PIT|02/25/06 12:12:37|steeler|35|M

You can clearly see the date format changing to MM/DD/YY...

Is it not what you are looking for ?? what do you mean by same as b4 ?

I think the format of your flat file is different than what you have posted if it is not working....
# 7  
Old 02-28-2006
Quote:
Originally Posted by sabercats
Oh, I would like to have the date field change as I want.

mgirinath, this one give me only the date
mahendramahendr, this one give me the out put the same as b4.


I want datetime field change from 06/02/25 11:12:36 to 02/25/2006 11:12:36
but my code got the error ? why syntax error is `(' is not expected
OOPS Sorry...here is date and time...
Code:
date=`echo "$3" | awk -F"/" '{ print $2"/"substr($3,1,2)"/20"$1 }'`
time=`echo "$3" | awk '{ print $2 }'`
echo $date" "$time

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. OS X (Apple)

Arrange file by modified date

Hi, Am performing a find based on filename and result can contain multiple files being found Let's say my find command is find /Archive -f -name 12345.pdf and result of find command is /Archive/Folder A/12345.pdf /Archive/Folder B/12345.pdf please note white space in folder names I... (2 Replies)
Discussion started by: gigagigosu
2 Replies

2. Shell Programming and Scripting

Removing date field from the string

Hii I am trying to remove the date field from the following string. ODS_EPP_COVRG_STN_DETL_FILE_10032014.TXT. My output should be ODS_EPP_COVRG_STN_DETL_FILE.TXT I tried couple of things: echo ODS_EPP_COVRG_STN_DETL_FILE_10032014.TXT|sed 's/_*\.*//g' I am getting:... (9 Replies)
Discussion started by: skatpally
9 Replies

3. Linux

How do I format a Date field of a .CSV file with multiple commas in a string field?

I have a .CSV file (file.csv) whose data are all enclosed in double quotes. Sample format of the file is as below: column1,column2,column3,column4,column5,column6, column7, Column8, Column9, Column10 "12","B000QRIGJ4","4432","string with quotes, and with a comma, and colon: in... (3 Replies)
Discussion started by: dhruuv369
3 Replies

4. Shell Programming and Scripting

Check if a date field has date or timestamp or date&timestamp

Hi, In a field, I should receive the date with time stamp in a particular field. But sometimes the vendor sends just the date or the timestamp or correctl the date&timestamp. I have to figure out the the data is a date or time stamp or date&timestamp. If it is date then append "<space>00:00:00"... (1 Reply)
Discussion started by: machomaddy
1 Replies

5. Shell Programming and Scripting

Sorting Date Field with Sort -k :/

SOLVED : (17 Replies)
Discussion started by: Glitch100
17 Replies

6. UNIX for Advanced & Expert Users

change field 2 date format

from this input WEBELSOLAR,29122009,1:1 WIPRO,15062010,2:3 ZANDUREALT,18012007,1:3 i want output as WEBELSOLAR,20091229,1:1 WIPRO,20100615,2:3 ZANDUREALT,20070118,1:3 basically input is in ddmmyyyy format and i was to convert it to yyyymmdd format (1 Reply)
Discussion started by: manishma71
1 Replies

7. Shell Programming and Scripting

date field manipulation

I have a data file. Seperated by "|". The 19 th filed is a date field that occurs like this 11/02/2001 i need to convert into the below format 2001-11-02 for e.g.. i/p o/p should be can somebody throw some light (5 Replies)
Discussion started by: dsravan
5 Replies

8. Shell Programming and Scripting

Keeping padding in a date field

Hi Guys, I'm having a bit of a problem with a script, i need to get the day, month and day of month into a string, so i'm using: CURRENT_DATE=`date +"%a %b %e"` It is getting the correct date out, however it is not keeping the padding on the day of month. The %e is supposed to pad the day... (5 Replies)
Discussion started by: seanbyrne
5 Replies

9. Shell Programming and Scripting

How to Sort files on date field

:cool: Hi all, I have a pecular issue in sorting these files in Solaris environment. All the below files are modified on November 4th, but I want to sort these files as per date column (eg: 01May07_1623 = ddmmmyy_hhmm) Nov 4 18:27 SONYELEC00.GI22973.01May07_1623.gpg Nov 4 18:27... (4 Replies)
Discussion started by: shivaastrogun
4 Replies

10. Shell Programming and Scripting

handling date field

Hi, Is there any way we could change the date format listed below... date I get is 03302007 (MMDDYYYY) I need to change it to 20070330 (YYYYMMDD) Thanks. (3 Replies)
Discussion started by: mgirinath
3 Replies
Login or Register to Ask a Question