date field manipulation


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting date field manipulation
# 1  
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

Quote:
1|147431|3284924|Superliner|1652382|765x125||Delta flight|1 x 1 Default Ad, 34|Superliner 765x125|ion|rt|rt|332|0|0.0|Clicks|05/07/2010|0|332|0|0|Y
o/p should be

Quote:
1|147431|3284924|Superliner|1652382|765x125||Delta flight|1 x 1 Default Ad, 34|Superliner 765x125|ion|rt|rt|332|0|0.0|Clicks|2010-05-07|0|332|0|0|Y
can somebody throw some light

I need to do this for all records in the file
# 2  
First off, your date field is not 19, but rather 18 (based on your sample).
Code:
 nawk -F'|' '{split($18,a,"/");$18=a[3]"-"a[1]"-"a[2]}1' OFS="|" myFile

# 3  
Thanks Vgresh. Is there a way we can do it in sed. I am using couple of other sed commands on the file. Hence would like to see if we can do it in sed.
# 4  
Quote:
Originally Posted by dsravan
Thanks Vgresh. Is there a way we can do it in sed. I am using couple of other sed commands on the file. Hence would like to see if we can do it in sed.
Probably, but why bother - use the tool better suited for the task.
Most likely your other sed 'commands' might be migrated to awk.
# 5  
If you are sure there is only one date field per line in field 18 that needs to be changed, or any other field that contains a date, needs to be changed as well, you can could use this:
Code:
sed 's|\(..\)/\(..\)/\(....\)|\3-\1-\2|g' infile

But like vgersh99 says, awk is more suited for the task. It is more accurate since it will only modify field 18.
# 6  
Code:
# cat datet
1|147431|3284924|Superliner|1652382|765x125||Delta flight|1 x 1 Default Ad, 34|Superliner 765x125|ion|rt|rt|332|0|0.0|Clicks|05/07/2010|0|332|0|0|Y

Code:
# sed 's@|\([0-9][0-9]\)/\([0-9][0-9]\)/\([0-9][0-9]*\)@|\3-\1-\2@g' datet
1|147431|3284924|Superliner|1652382|765x125||Delta flight|1 x 1 Default Ad, 34|Superliner 765x125|ion|rt|rt|332|0|0.0|Clicks|2010-05-07|0|332|0|0|Y

Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #611
Difficulty: Easy
You can enter the Python interpreter by simply typing python on the command line (assume Python is installed).
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Date-Manipulation-1

Hallo Team I can perform the task manually but i would like to automate this process. ok here goes. I have a perl script which runs every Wednesday every week and the name of the script is check_19.pl This is how the script looks like : #!/usr/bin/perl -w #use strict; use DBI; #... (1 Reply)
Discussion started by: kekanap
1 Replies

2. 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

3. Shell Programming and Scripting

Help with number field manipulation

I have a comma separated file containing numbers, I would like to read the file and divide each number by 1024 and create an output file. Input file : 50312.00,3434.05, ,3433.34,124344.00,434343.00, , , Output file: 49.13,3.35,3.35,0,12.05,424.16,0,0 Please click this link: How to... (2 Replies)
Discussion started by: inditopgun
2 Replies

4. Shell Programming and Scripting

Date manipulation

In my shell script I take date as a input parameter from command line in the format "21 Oct 2011" which would be date +'%d %b %Y' Now i need to do two things here. 1) Validate the date entered by user 2) Calculate yesterday's date from the input. So in this case it should be: "20 Oct 2011"... (9 Replies)
Discussion started by: davidtd
9 Replies

5. Shell Programming and Scripting

Date Manipulation

I have a file with a field containing the following: "7/3/2009 7:07:12 PM","xxxx" I need to be able to split this field up into two into a different format with the time being converted into 24 hour: so that i can get the following: "20090307","19:07:12","xxxx" (8 Replies)
Discussion started by: Pablo_beezo
8 Replies

6. Shell Programming and Scripting

Date manipulation

How can i print a future time, so i get current time by date "+%H:M" but how can i say add 20 minutes to the current time and display as I have just done for current time. (1 Reply)
Discussion started by: kelseyh
1 Replies

7. Shell Programming and Scripting

Date manipulation

Hi Gurus, How to minus 15 minuets from current system time. For example if current time is " Wed Oct 14 12:12:38 BST 2009", i need "Wed Oct 14 11:57:38 BST 2009" Thanks (2 Replies)
Discussion started by: kumarmani
2 Replies

8. Shell Programming and Scripting

date manipulation

HI, I'm comparing my file date with the system date and if both the dates are equal I'm doing some operation. I use two variables for these two dates. I use the following command in my query. if .... But here the current date $cd shows 01 and filedate $fdate shows 1. The file is created on 1 of ... (6 Replies)
Discussion started by: pstanand
6 Replies

9. Shell Programming and Scripting

Date Manipulation

I need to achieve the following.....I seached the forum but could not find it... This is I have in a file... "CH","TIA","10/27/2006",000590 I need the date in the third field to be attached to fileas 20061027_test.txt How do I do it. (6 Replies)
Discussion started by: mgirinath
6 Replies

10. Shell Programming and Scripting

Subtract 100 from first field in long list? Simple manipulation?

It sounds so easy to do. I have a file thats laid out like this.. number text text text text (etc about 15 times with various text fields) I want to take the first field, "number", subtract 100 from it, and then put it back in the file. a simple little manipulation of the first field in... (4 Replies)
Discussion started by: LordJezo
4 Replies

Featured Tech Videos