Date reformatting


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Date reformatting
# 1  
Old 08-21-2011
Date reformatting

I have a file with temperature measurements:

Code:
Loc1,20090102,71.55
Loc1,20090103,71.65
Loc1,20090104,71.55
Loc1,20090105,71.54
Loc1,20090106,71.54

However, to load this into a database I would like to reformat the dates (column 2) from the yyyymmdd format to the yyyy-mm-dd format. I have come up with the following:
Code:
sed -i '' -e 's/,([0-9]{4})([0-9]{2})([0-9]{2}),/,\1-\2-\3,/' date.txt

But that leads to:
Code:
sed: 1: "s/,([0-9]{4})([0-9]{2}) ...": \1 not defined in the RE

Can someone tell me how to correct this regex?

UPDATE: Also tried the following, which is also syntactically correct:
Code:
sed -i '' -e 's/,\([0-9]{4}\)\([0-9]{2}\)\([0-9]{2}\),/,\1-\2-\3,/' date.txt

but that left the file unchanged.

Last edited by figaro; 08-21-2011 at 07:50 AM.. Reason: Updated with new code
# 2  
Old 08-21-2011
This regex is correct... in Perl Smilie
Code:
perl -i -pe 's/,([0-9]{4})([0-9]{2})([0-9]{2}),/,\1-\2-\3,/' date.txt

This User Gave Thanks to bartus11 For This Post:
# 3  
Old 08-22-2011
Quote:
Originally Posted by figaro
UPDATE: Also tried the following, which is also syntactically correct:
Code:
sed -i '' -e 's/,\([0-9]{4}\)\([0-9]{2}\)\([0-9]{2}\),/,\1-\2-\3,/' date.txt

but that left the file unchanged.
You would need to escape the curly braces as well..
Code:
sed 's/,\([0-9]\{4\}\)\([0-9]\{2\}\)\([0-9]\{2\}\),/,\1-\2-\3,/' inputfile

This User Gave Thanks to michaelrozar17 For This Post:
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help reformatting column

Hello UNIX experts, I'm stumped finding a method to reformat a column. Input file is a two column tab-delimited file. Essentially, for every term that appears in column 2, I would like to summarize whether that term appears for every entry in column 1. In other words, make a header for each term... (2 Replies)
Discussion started by: torchij
2 Replies

2. UNIX for Dummies Questions & Answers

Need help in reformatting the input

Hi i want to print line which is mentioned as below 615213:1;20150725;20250722;0|11;20150831;20150831;100|14;20150725;20160723;2 in below format. ' 615213: 1;20150725;20250722;0 615213: 11;20150831;20150831;100 615213: 14;20150725;20160723;2 please help me and suggest me how to... (9 Replies)
Discussion started by: scriptor
9 Replies

3. Shell Programming and Scripting

Date Reformatting function

Hi , I am trying to create a function with below requirements 1. It will take two parameters as Input. Date and Date format 2. Output will be in YYYYMMDD format. Example 1: Input: fn_date_reformatter('01-AUG-2014','DD-MON-YYYY') Output: 20140801 Example 2: Input:... (4 Replies)
Discussion started by: Anupam_Halder
4 Replies

4. Shell Programming and Scripting

Reformatting a list to table

Hi! I have a list with a lot of records that I need to work with. The problem is that the list is populated successive one record at the time in a text file, and to gain anything from these records I need them to be put out in a table. This is an example of what the list looks like: (145)... (5 Replies)
Discussion started by: ivar.friheim
5 Replies

5. UNIX for Dummies Questions & Answers

Date reformatting

I have been reformatting dates from a data file to make them mysql compliant. 31-10-2011 Loc1 1-11-2011 Loc2 The first can be captured by this: sed -i '' -e "s#\(..\)-\(..\)-\(....\)#\3-\2-\1#" data.txt and leads to: 2011-10-31 Loc1 The second line is captured as follows: sed -i... (2 Replies)
Discussion started by: figaro
2 Replies

6. UNIX for Dummies Questions & Answers

Date reformatting

I currently have the following file containing sample values for a number of dates: Loc1 04 Jan 2007 0.95 0.9532 Loc1 05 Jan 2007 0.95 0.9513 Loc1 06 Jan 2007 0.95 0.9535 This continues for all months of the year and spans across several years. I am trying to reformat the dates so that... (2 Replies)
Discussion started by: figaro
2 Replies

7. Shell Programming and Scripting

Help reformatting output

I have a command that gives me the output below: JAVA_HOME = C:/jdk1.5.0_11 Broker Performance Report for server 'app1' RMI_URL = rmis:// Parameter Kintana ItgDS DashboardDS ---------------------------- ------- ----- ----------- Connections count 41 ... (4 Replies)
Discussion started by: bwiebe
4 Replies

8. Shell Programming and Scripting

Reformatting Data in AWK

Dear AWK Users, I have a data set that is so large (Gigabytes) that it cannot be opened in the vi editor in its entirety. But I can manipulate the entire thing in AWK. It is formatted in a regular manner such that it has the variable descriptions or listings preceeding the variables. The latter... (13 Replies)
Discussion started by: sda_rr
13 Replies

9. UNIX for Dummies Questions & Answers

Reformatting file

Hi, How can I reformat a file (text file) using unix command. This file was FTP'd from Mainframe and contains some garbage character at the end of each line. Each line contains special characters '<soh>' at the end which should have been spaces when I view it in emacs or nedit. I couldnt do find... (2 Replies)
Discussion started by: mrjunsy
2 Replies

10. Filesystems, Disks and Memory

reformatting a floppy!

i am trying to reformat a floppy i am using solaris 9 when i run this: rmformat -F quick /vol/dev/aliases/floppy0 it tells me that it cannot perform the operation on a mounted device. how do i unmount the device and format the floppy? (1 Reply)
Discussion started by: rmuhammad
1 Replies
Login or Register to Ask a Question