Replace dot with semicolon in PERL


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Replace dot with semicolon in PERL
# 1  
Old 05-16-2012
Replace dot with semicolon in PERL

Hi,
I have a file in PERL in the following pattern

[file]
filename| 06-Dec-11 03.04.14.000000 PM
filename1| 06-Dec-11 05.05.14.000000 PM
[/QUOTE]



I need to replace .(dot) with Smiliesemicolon) in the timestamp value of the file
How can this be done. Any help will be appreciated
Thanks in advance
# 2  
Old 05-16-2012
Code:
s/([0-9]{2})\.([0-9]{2}\.([0-9]{2})/$1:$2:$3/

# 3  
Old 05-16-2012
the other columns may also have dot (.) in it which should not be replaced with semicolon. only timestamp column should be handled. i.e only the 2 nd column. how can this be done.
[file]
filename| 06-Dec-11 03.04.14.000000 PM|nameisaere..rp
filename1| 06-Dec-11 05.05.14.000000 PM|erevdrname.
[/QUOTE]
# 4  
Old 05-16-2012
I understand. If you read the regex carefully, it'll match dots which are in between couples of numbers. (for e.g., dots in 05.05.14 or 03.04.14) Are you going to have string beyond the timestamp which contains dots embedded in couples of numbers?
# 5  
Old 05-16-2012
yes exactly. The string beyond timestamp will have dots embedded in couple of numbers or names like "name.is" , "name123.is"
# 6  
Old 05-16-2012
Code:
[root@host dir]# cat input
filename| 06-Dec-11 03.04.14.000000 PM|nameisaere..rp
filename1| 06-Dec-11 05.05.14.000000 PM|erevdrname.
[root@host dir]#
[root@host dir]# perl -F"\|" -lane '$F[1]=~s/(?<=[0-9]{2})\.(?![0-9]{3,})/:/g; print join ("|", @F)' input
filename| 06-Dec-11 03:04:14.000000 PM|nameisaere..rp
filename1| 06-Dec-11 05:05:14.000000 PM|erevdrname.
[root@host dir]#

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How i can add via preg replace dot after numbers ?

So lets say i have file my_birthday.402.zip ho it can became my_birthday.4.0.2.zip Thank you :) (1 Reply)
Discussion started by: ZerO13
1 Replies

2. Shell Programming and Scripting

Replace null values with dot using awk

Using awk I am trying to replace all blank or null values with a . in the tad delimited input. I hope the awk is close. Thank you :). input name test sam 1 liz 2 al 1 awk awk 'BEGIN{FS=OFS="\t"}{for(i=1;++i<NF;)$i=$i?$i:"."}1'input awk 'BEGIN { FS =... (6 Replies)
Discussion started by: cmccabe
6 Replies

3. Shell Programming and Scripting

Replace semicolon within double quotes in a file with semicolon delimiter

Hello Team, Could you please help me with the below question? I have a file with the following properties 1) File Delimiter is ; 2) Text columns are within double quotes 3) Numeric columns will not have double quotes 4) File has total 6 columns Please see a sample record from file ... (3 Replies)
Discussion started by: sam99
3 Replies

4. Shell Programming and Scripting

sed - search and replace whole string which contains dot

Hello. I would like to search exactly "string1.string2.string3" and replace it by "new_string1.new_string2.new_string3" And I would like to search exactly "string2.string3" and replace it by "new_string2.new_string3" And I would not found in the result : "string1.new_string2.new_string3"... (3 Replies)
Discussion started by: jcdole
3 Replies

5. UNIX for Dummies Questions & Answers

Delete a semicolon and numbers after a semicolon

I have this: ((9:0.010,(11:0.089,13:0.004)) and I would like this: ((A9,(A11,A13)) How do I delete the semi colon and the number (i.e. 0.010) after the semi colon? Also, how can I add the letter before the number that is NOT removed? Thank you in advance! ---------- Post updated... (4 Replies)
Discussion started by: MDeBiasse
4 Replies

6. Shell Programming and Scripting

How to replace quote symbol(") and dot(.) with some other values!!

Hi , I have below input file 1.order number is useful. 2.vendor_id is produced. 3.the vandor name is "malawar". I want output file like 1. order number is useful. 2. vendor_id is produced. 3. the vandor name is VmalawarV. in input file line number 1.order number there is no... (4 Replies)
Discussion started by: vinothsekark
4 Replies

7. Shell Programming and Scripting

Replace a string after n semicolon every line

I have a file that is formatted in this way. a1;b2;c33;d4;e5;e;f;f;f;s d;ds;d;a;v;b;g;gr;r;rt;fdf s1;s2;s2;s3;s4; b1;f2;g3;h4;a3c4e;xcsd;fds; sd2;fs4;fs2;sdf3; I want to replace the value just before the 4th semicolon to empty string, regardless the value, such that it looks... (3 Replies)
Discussion started by: alienated
3 Replies

8. Shell Programming and Scripting

Replace blank spaces with semicolon - text file

Hi all, Been trying to find a solution to this, I'm sure its a sed 1 liner, but I don't know sed well enough to work it out... I have a text file in the following format: 431 666 1332 2665 0.24395 432 670 ... (3 Replies)
Discussion started by: mpcengineering
3 Replies

9. Shell Programming and Scripting

Replace path in a file with dot

Hi, I have a file with below values. /uvxapps/etl/Ascential/DataStage/DSEngine/dsenv.orig /uvxapps/etl/Ascential/DataStage/DSEngine/dsenv /uvxapps/etl/Ascential/DataStage/DSEngine/sample/.cshrc /uvxapps/etl/Ascential/DataStage/DSEngine/sample/.login... (3 Replies)
Discussion started by: njoshi
3 Replies

10. Shell Programming and Scripting

splitting on dot in perl

I am trying to split input that looks like ,2005-09-12 01:45:00.000000,2005-09-12 01:48:18.000000, I want to split on the dot . What I am using is ($ev_time,$rol)=split(/\./),$inputfile; This does not recognize the dot as what I want to split on. (2 Replies)
Discussion started by: reggiej
2 Replies
Login or Register to Ask a Question