Sed, replace comma with pipe. but ignore qoutes


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Sed, replace comma with pipe. but ignore qoutes
# 1  
Old 02-17-2013
Sed, replace comma with pipe. but ignore qoutes

hi,

I am trying to replace comma with pipe, but the issue is that i want to ignore the commas inside qoutes.

for example:
i have file with the string: 1,"2,3",4,"5","6,7"
the result should be : 1|"2,3"|4|"5"|"6,7"

i trying to use sed and awk (match function) for that, but i did not figure out how to resolve it..

Please help.
# 2  
Old 02-17-2013
a) PLEASE use code tags for code and data as required by forum rules
b) intensively search these fora for your problem, esp. as this one has been covered a zillion times!

If you didn't find the answer by yourself, try
Code:
$ awk 'BEGIN {FS=OFS="\""} {for (i=1;i<=NF;i+=2) gsub(/,/,"|",$i)}1' file
1|"2,3"|4|"5"|"6,7"

# 3  
Old 02-17-2013
Thanks!

I will try to figure out how it work.

Thanks again.
# 4  
Old 02-17-2013
If you do not need numbers in "quotation", since you have a unique separator, you can do this.
Code:
awk -F",\"|\",|\",\"|\"" '{$1=$1}1' OFS="|"
1|2,3|4|5|6,7|

# 5  
Old 02-17-2013
Code:
awk 'NR%2{gsub(/,/,"|")}1' RS=\" ORS=\" file

Code:
1|"2,3"|4|"5"|"6,7"

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace comma and blank with comma and number

I, I have a file and i need to replace comma and blank space with comma and 0. cat file.txt a,5 b,1 c, d, e,4 I need the output as cat file.txt a,5 b,1 c,0 d,0 (4 Replies)
Discussion started by: jaituteja
4 Replies

2. Shell Programming and Scripting

How to ignore Pipe in Pipe delimited file?

Hi guys, I need to know how i can ignore Pipe '|' if Pipe is coming as a column in Pipe delimited file for eg: file 1: xx|yy|"xyz|zzz"|zzz|12... using below awk command awk 'BEGIN {FS=OFS="|" } print $3 i would get xyz But i want as : xyz|zzz to consider as whole column... (13 Replies)
Discussion started by: rohit_shinez
13 Replies

3. Shell Programming and Scripting

How to replace NewLine with comma using sed?

Hi , I have a huge file with following records and I want to replace the last comma with ',NULL'. I try using SED but could not create a correct script . In my opinion I need a script which can convert ,/n with ,NULL/n 1,CHANGE_MEMBER,2010-12-28 00:05:00, 2,CHANGE_MEMBER,2012-09-02... (8 Replies)
Discussion started by: Ajaypal
8 Replies

4. Shell Programming and Scripting

Replace pipe <|> with comma <,> in a column

Hi All Gurus, I need to replace a pipe <|> with a comma <,> in a few columns with pipe delimited file. The column name are fixed for the replacement of comma <,>. For below example, Col3, Col6 and Col8 are columns need to replace with comma <,> if any pipe encountered. example:... (14 Replies)
Discussion started by: agathaeleanor
14 Replies

5. Shell Programming and Scripting

Replace comma with a blank space using SED

Hello everyone, I want to replace all "," (commas) with a blank space My command thus far is: cat test.text | sed -e s/\`//g | awk '{print$1" "$2" "$3}' I'm sure you guys know this, but the SED command that I am using is to get rid of the "`" (tics). which gives me: name ... (5 Replies)
Discussion started by: jayT
5 Replies

6. Shell Programming and Scripting

How to Use Sed Command to replace white spaces with comma from between two fields - Mayank

SHELL SCRIPT Hi I have a file in the following format Mayank Sushant Dheeraj Kunal ARUN Samir How can i replace the white space in between and replace them with a comma?? The resultant output should be Mayank,Sushant Dheeraj,Kunal ARUN,Samir i tried using sed -e... (8 Replies)
Discussion started by: mayanksargoch
8 Replies

7. Shell Programming and Scripting

Find and replace a column that has '' to NULL in a comma delimited using awk or sed

Hi this is my first time posting ever. I'm relatively new in using AWK/SED, I've been trying many a solution. I'm trying to replace the 59th column in a file where if I encounter '' then I would like to replace it with the word NULL. example 0 , '' , '' , 0 , 195.538462 change it to 0... (5 Replies)
Discussion started by: gumal901
5 Replies

8. Shell Programming and Scripting

How to replace comma by slash using sed in an UTF8 file

Hello all, I'd like to replace "," by "/" in a utf8 file from postion X to Y. Comma "," is also defined as delimiter. 12345678901234567890,123456789012345,12345678901234567890, aaaa,aaaa,aaaaa ,bbb,bbbb,bbbbb ,cccccc,cc , Result should be... (1 Reply)
Discussion started by: fmofmo
1 Replies

9. Shell Programming and Scripting

To Replace comma with Pipe inside double quotes

Hi, I have a requirement to replace the comma's inside the double quotes. The comma's inside the double quotes will get changed dynamically. Input Record: "Washington, DC,Prabhu,aju",New York Output Record: "Washington| DC|Prabhu|aju",New York I tried with the below command but it... (3 Replies)
Discussion started by: prabhutkl
3 Replies

10. UNIX for Dummies Questions & Answers

sed utility to replace /307 with comma

Hi, I have a requirement to replace '/307' with comma ',' . for e.g. : $ cat dm.dat ------------- decimdal("\307") acct $echo $l \307 $echo $k , $sed -e "s/$l/$k/" dm.dat > dm1.dat sed: Function s/\307/,/ cannot be parsed. I want dm1.dat to be : $ cat dm1.dat (1 Reply)
Discussion started by: obedkhan
1 Replies
Login or Register to Ask a Question