Sponsored Content
Top Forums Shell Programming and Scripting How to delete the commas in a .CSV file that are enclosed in a string with double quotes? Post 302887722 by Don Cragun on Monday 10th of February 2014 11:34:34 AM
Old 02-10-2014
By setting FS and OFS to a double quote character (-F'"' -v OFS='"'), in2nix4life told awk to use the double quote character as the field separator when lines are being read from standard input file and written to standard output. This causes the text before the 1st double quote to be treated as field 1, the text between the 1st and 2nd double quotes as the 2nd field, etc. So odd numbered fields contain data outside of the double quoted strings and even numbered fields correspond to data inside the double quoted strings.

The for loop:
Code:
for(i=2;i<NF;i+=2)
        gsub(",", "", $i)

calls the global substitution function (gsub) to change all occurrences of a comma (",") to an empty string ("") in field i ($i) for even numbered fields (start with 2 [i=2], increment the field number by 2 at the end of processing each time through the loop [i+=2] and continue processing as long as i is less than the number of fields on the current line [i<NF]).
These 2 Users Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

How to remove a character which is enclosed in Double quotes

I want to remove the comma which is present within the double quoted string. All other commas which is present outside double quotes should be present. Input : a,b,"cc,dd,ee",f,ii,"jj,kk",mmm output : a,b,"ccddee",f,ii,"jjkk",mmm (3 Replies)
Discussion started by: mohan_tuty
3 Replies

2. Shell Programming and Scripting

how to find the count of commas in a string excluding the ones in double quotes

Hi, my requirement is to find the count of commas in a string excluding the ones in double quotes. For example: If the input string is abc,xyz.com,lmhgdf,"abc, 401 street","tty,stt",45,23,45 The output should be 7 (7 Replies)
Discussion started by: amitshete
7 Replies

3. 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

4. Shell Programming and Scripting

How to delete a column/columns of a CSV file which has cell values with a string enclosed in " , "?

How can I delete a column from a CSV file which has comma separated value with a string enclosed in double quotes and a comma in between? I have a file 44.csv with 4 lines including the header like the below format: column1, column2, column3, column 4, column5, column6 12,455,"string with... (6 Replies)
Discussion started by: dhruuv369
6 Replies

5. Shell Programming and Scripting

How to delete a columns of a CSV file which has cell values with a string enclosed in " , "?

Hi How can I delete a columns from a CSV file which has comma separated value with a string enclosed in double quotes or square bracket and a comma in between? I have a csv file with below format. Template,Target Server,Target Component,Rule Group,Rule,Rule Reference Number,Rule... (7 Replies)
Discussion started by: Litu19
7 Replies

6. Shell Programming and Scripting

How to match fields surrounded by double quotes with commas?

Hello to all, I'm trying to match only fields surrounded by double quotes that have one or more commas inside. The text is like this "one, t2o",334,"tst,982-0",881,"kmk 9-l","kkd, 115-001, jj-3",5 The matches should be "one, t2o" "tst,982-0" "kkd, 115-001, jj-3" I'm trying with... (11 Replies)
Discussion started by: Ophiuchus
11 Replies

7. Shell Programming and Scripting

Shell script that should remove unnecessary commas between double quotes in CSV file

i have data as below 123,"paul phiri",paul@yahoo.com,"po.box 23, BT","Eco Bank,Blantyre,Malawi" i need an output to be 123,"paul phiri",paul@yahoo.com,"po.box 23 BT","Eco Bank Blantyre Malawi" (5 Replies)
Discussion started by: mathias23
5 Replies

8. 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

9. Shell Programming and Scripting

Remove pipe(|) symbol ina file, except the ones which are enclosed in double quotes

I have file with are delimited by pipe(|) symbol, I wanted those to be removed except the ones which are enclosed in double quotes. If your quote file is: |Life is |Beautiful"|"Indeed life |is beautiful too|"|"But unix is fun| is not"|" It should return: Life is Beautiful"|"Indeed life is... (1 Reply)
Discussion started by: Sathyapts
1 Replies

10. Shell Programming and Scripting

Remove pipe(|) symbol in except the ones which are enclosed in double quotes

I have file with are delimited by pipe(|) symbol, I wanted those to be removed except the ones which are enclosed in double quotes. If your quote file is: |Life is |Beautiful"|"Indeed life |is beautiful too|"|"But unix is fun| is not"|" It should return: Life is Beautiful"|"Indeed life is... (9 Replies)
Discussion started by: Sathyapts
9 Replies
PPI::Token::Quote::Double(3)				User Contributed Perl Documentation			      PPI::Token::Quote::Double(3)

NAME
PPI::Token::Quote::Double - A standard "double quote" token INHERITANCE
PPI::Token::Quote::Double isa PPI::Token::Quote isa PPI::Token isa PPI::Element DESCRIPTION
A "PPI::Token::Quote::Double" object represents a double-quoted interpolating string. The string is treated as a single entity, PPI will not try to understand what is in the string during the parsing process. METHODS
There are several methods available for "PPI::Token::Quote::Double", beyond those provided by the parent PPI::Token::Quote, PPI::Token and PPI::Element classes. Got any ideas for methods? Submit a report to rt.cpan.org! interpolations The interpolations method checks to see if the double quote actually contains any interpolated variables. Returns true if the string contains interpolations, or false if not. simplify For various reasons, some people find themselves compelled to have their code in the simplest form possible. The "simply" method will turn a simple double-quoted string into the equivalent single-quoted string. If the double can be simplified, it will be modified in place and returned as a convenience, or returns false if the string cannot be simplified. SUPPORT
See the support section in the main module. AUTHOR
Adam Kennedy <adamk@cpan.org> COPYRIGHT
Copyright 2001 - 2011 Adam Kennedy. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of the license can be found in the LICENSE file included with this module. perl v5.16.3 2011-02-26 PPI::Token::Quote::Double(3)
All times are GMT -4. The time now is 09:34 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy