troubleshooting Question

Replacing multiple embedded commas in a CSV file with sed

Avatar of Dan Kaib
Dan KaibFlag for United States of America asked on
Shell ScriptingRegular Expressions* AIX* sed
10 Comments1 Solution247 ViewsLast Modified:
I have a CSV file with fields containing multiple embedded commas in some fields that I need to change to a different character.

The line below is from a CSV file.

1511,Charleston Newspapers Inc      ,0108,Hamburg PA,"03,11,2017",03/11/2017 ,03
/2017,-1.71,03/13/2017 ,Unpaid,,,,,C210\quser,C210\quser,C210\quser,,No Approval

Using the sed command:

sed 's/\("[^,"]*\),\([^"]*"\)/\1;\2/g' IN.CSV > OUT.CSV

The above sed command changed "03,11,2017" to "03;11,2017".  I need to change all the commas in "03,11,2017" to semicolons "03;11;2017".

I am running AIX 7.1

Any suggestions would be greatly appreciated.

Join our community to see this answer!
Unlock 1 Answer and 10 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 10 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros