sed command to replace consecutive double quotes

 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers sed command to replace consecutive double quotes
# 1  
Old 11-21-2017
sed command to replace consecutive double quotes

I need to replace consecutive double quotes in a csv file, the data in the file is enclosed in double quotes but there are some places where the quotes are repeating
Example is below

Incoming data is :

Code:
"Pacific Region"|"PNG"|"Jimmy""|""|

Need output as:

Code:
"Pacific Region"|"PNG"|"Jimmy"|""|

Please Note that empty double quotes are perfectly valid here and I need to retain them

Last edited by Scrutinizer; 11-21-2017 at 12:30 AM.. Reason: code tags
# 2  
Old 11-21-2017
What have you tried to solve this problem?

This would be easy with awk. Why does it have to be done with sed?

Can we assume that a vertical bar (|) will never appear inside a quoted field?
# 3  
Old 11-21-2017
Hi Abhilash,

you can try below command.

Code:
cat test.txt|tr -d '"'|sed 's/\([^|]*\)/"&"/g'|sed 's/..$//'

Code:
[*****@***** script]$ cat test.txt|tr -d '"'|sed 's/\([^|]*\)/"&"/g'|sed 's/..$//'
"Pacific Region"|"PNG"|"Jimmy"|""|

Regards,
Rajib

Last edited by Don Cragun; 11-21-2017 at 01:34 AM.. Reason: Add CODE tags.
# 4  
Old 11-21-2017
I tried the code, it is removing the consecutive quotes but it is also removing the empty strings, which I don't want because that is a perfectly valid value
# 5  
Old 11-21-2017
@abhilashnair, could you answer the Don Cragun's questions in post #2. Then we could likely provide you with a better answer.
# 6  
Old 11-23-2017
(|) will never appear inside a quoted field. it is the delimiter, so acts like a separator between 2 columns
# 7  
Old 11-23-2017
Your sample with a field separator at the end of the line and no data following doesn't seem right, does it?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Removing consecutive double quotes

Hi I have a .csv file and when opened in notepad looks like this gggg,nnnn,"last,first","llll""",nnn So, Here I would like the ouput as below gggg,nnnn,"last,first","llll",nnn i.e replace all two double quotes into one. How could I do that? This file is being processed by another... (5 Replies)
Discussion started by: dnat
5 Replies

2. Shell Programming and Scripting

Replace Double quotes within double quotes in a column with space while loading a CSV file

Hi All, I'm unable to load the data using sql loader where there are double quotes within the double quotes As these are optionally enclosed by double quotes. Sample Data : "221100",138.00,"D","0019/1477","44012075","49938","49938/15043000","Television - 22" Refurbished - Airwave","Supply... (6 Replies)
Discussion started by: mlavanya
6 Replies

3. Shell Programming and Scripting

sed command to replace string that contain blackslash,double quotes

Hi All, I have been trying to replace a string using the sed command string value contain blackslash and double quotes. I am not a expert writer of unix script but do try not to ask question. I have almost given up. Hope you all can give me some suggestion I want to replace a place string... (6 Replies)
Discussion started by: thanush9sep
6 Replies

4. Shell Programming and Scripting

Replace double quotes with a single quote within a double quoted string

Hi Froum. I have tried in vain to find a solution for this problem - I'm trying to replace any double quotes within a quoted string with a single quote, leaving everything else as is. I have the following data: Before: ... (32 Replies)
Discussion started by: pchang
32 Replies

5. Shell Programming and Scripting

HELP with AWK or SED. Need to replace the commas between double quotes in CSV file

Hello experts, I need to validate a csv file which contains data like this: Sample.csv "ABCD","I",23,0,9,,"23/12/2012","OK","Street,State, 91135",0 "ABCD","I",23,0,9,,"23/12/2012","OK","Street,State, 91135",0 I just need to check if all the records contain exactly the number of... (5 Replies)
Discussion started by: shell_boy23
5 Replies

6. Shell Programming and Scripting

How to replace spaces excluding those within double quotes and after backslash?

In bash or perl, I would like to know how to substitute a null character (0x00) for every white space without changing the white spaces inside the block of double quotes and the white space immediately following a backslash. Suppose that sample.txt consists of the following line. "b 1" c\ 2 ... (2 Replies)
Discussion started by: LessNux
2 Replies

7. Shell Programming and Scripting

Replace double double quotes using AWK/SED

Hi, I have data as "01/22/97-"aaaaaaaaaaaaaaaaa""aaa""aabbbbbbbbcccccc""zbcd""dddddddddeeeeeeeeefffffff" I want to remove only the Consequitive double quotes and not the one which occurs single. My O/P must be ... (2 Replies)
Discussion started by: Bhuvaneswari
2 Replies

8. UNIX for Dummies Questions & Answers

How to replace double quotes in to ascii value?

Hi, I am getting the data from text file and it contains comma and double quootes. Eg: text file like this: Travelling up Cattai Ridge Rd, going through the "S" bends at the top. Felt a "pull" and pain in groin area, on right side after lifting at work. Repeat "twisting" while working manual... (4 Replies)
Discussion started by: rajesh4851
4 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. Shell Programming and Scripting

Replace multiple blanks within double quotes

I have various column names within double quotes, separated by commas. Example: "column one", "column number two", "this is column number three", anothercolumn, yetanothercolumn I need to eliminate the double quotes and replace the blanks within the double quotes by underscores, giving: ... (5 Replies)
Discussion started by: jgrogan
5 Replies
Login or Register to Ask a Question