Sponsored Content
Top Forums Shell Programming and Scripting Replace Double quotes within double quotes in a column with space while loading a CSV file Post 302943638 by mlavanya on Monday 11th of May 2015 11:14:51 AM
Old 05-11-2015
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 :

Code:
"221100",138.00,"D","0019/1477","44012075","49938","49938/15043000","Television - 22" Refurbished - Airwave","Supply of Delivery & Collection 1st Unit (1), Delivery & Collection Additions (1), Whitbread Refurb LCD (2)","Airwave Europe Ltd","15/04/2015","2520",""

Desired output :

Code:
"221100",138.00,"D","0019/1477","44012075","49938","49938/15043000","Television  - 22 Refurbished - Airwave","Supply of Delivery & Collection 1st  Unit (1), Delivery & Collection Additions (1), Whitbread Refurb LCD  (2)","Airwave Europe Ltd","15/04/2015","2520",""

I have checked for many threads posted in this site. and tried
Code:
sed 's/\([^",]\)"\([^",]\)/\1\2/' < infile > outfile

Code:
perl -anle 'my @fields = ($_ =~ /(?:^|,)(".*?"|[^,]*?)(?=,|$)/g);foreach my $f(@fields){$f=~s/"//g;$f=sprintf("\"%s\"",$f);}my $line=join(",",@fields);print $line' file

But it didn't work. If the last column of the data is blank. then it is changing for that as well and getting the below output.

Code:
"221100",138.00,"D","0019/1477","44012075","49938","49938/15043000","Television  - 22 Refurbished - Airwave","Supply of Delivery & Collection 1st  Unit (1), Delivery & Collection Additions (1), Whitbread Refurb LCD  (2)","Airwave Europe Ltd","15/04/2015","2520","

Could anyone help me out to fix this issue.

Regards,
Lavanya.

Last edited by rbatte1; 05-11-2015 at 12:45 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

replace value with double quotes of specific coulmn value in csv file

Hi, I am trying to replace a specific column values in a csv file with double quotes. Example: SNO,NAME,ZIPCODE,RANK 1,Robert,74538,12 2,Sam,07564,13 3,Kim, Ed,12345,14 Desired Output: SNO,NAME,ZIPCODE,RANK 1,Robert Ken,74538,12 2,Sam Mik,"07564",13 3,"Kim, Ed",12345,14 I... (3 Replies)
Discussion started by: techmoris
3 Replies

2. Shell Programming and Scripting

Replacing comma with in double quotes in a csv file

Hello, I need to read a csv file and I am trying to replace a comma with a text DSEE?DSEE. Example Input "Chapter","NewTrains, "oldTrains","Delayed",10,"London" "Chapter","Newbuses,oldbuses","On Time",20,"London" Output "Chapter","NewTrainsDSEE?DSEE... (5 Replies)
Discussion started by: venkatvani
5 Replies

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

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

5. Shell Programming and Scripting

Replace newline character between a double quotes to a space

Hi Guys, I have a file with content as below aj.txt "Iam allfine" abcdef abcd "all is not well" What I'm trying to say is my data has some new line characters in between quoted text. I must get ride of the newline character that comes in between the quoted text. output must be:... (8 Replies)
Discussion started by: ajahuja
8 Replies

6. Shell Programming and Scripting

Issue with Single Quotes and Double Quotes for prompt PS1

Hi, Trying to change the prompt. I have the following code. export PS1=' <${USER}@`hostname -s`>$ ' The hostname is not displayed <abc@`hostname -s`>$ uname -a AIX xyz 1 6 00F736154C00 <adcwl4h@`hostname -s`>$ If I use double quotes, then the hostname is printed properly but... (3 Replies)
Discussion started by: bobbygsk
3 Replies

7. Shell Programming and Scripting

How to delete the commas in a .CSV file that are enclosed in a string with double quotes?

Okay, I would like to delete all the commas in a .CSV file (TEST.CSV) or at least substitute them with empty space, that are enclosed in double quote. Please see the sample file as below: column 1,column 2,column 3,column 4,column 5,column 6,column 7,column 8,column 9,column 10... (8 Replies)
Discussion started by: dhruuv369
8 Replies

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

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

10. Shell Programming and Scripting

Need shell script to append double quotes for each column in a file

Hi Experts, I am beginner to the shell scripting, My requirement is to append double quotes for each column in a file if double quotes does not exist. Example: "abc"|123|"gh-ch"|23.067 Use code tags, thanks. (10 Replies)
Discussion started by: spidy
10 Replies
Perl::Critic::Policy::ValuesAndExpressions::ProhibitInteUseraContribPerl::Critic::Policy::ValuesAndExpressions::ProhibitInterpolationOfLiterals(3)

NAME
Perl::Critic::Policy::ValuesAndExpressions::ProhibitInterpolationOfLiterals - Always use single quotes for literal strings. AFFILIATION
This Policy is part of the core Perl::Critic distribution. DESCRIPTION
Don't use double-quotes or "qq//" if your string doesn't require interpolation. This saves the interpreter a bit of work and it lets the reader know that you really did intend the string to be literal. print "foobar"; #not ok print 'foobar'; #ok print qq/foobar/; #not ok print q/foobar/; #ok print "$foobar"; #ok print "foobar "; #ok print qq/$foobar/; #ok print qq/foobar /; #ok print qq{$foobar}; #preferred print qq{foobar }; #preferred Use of double-quotes might be reasonable if the string contains single quote (') characters: print "it's me"; # ok, if configuration flag set CONFIGURATION
The types of quoting styles to exempt from this policy can be configured via the "allow" option. This must be a whitespace-delimited combination of some or all of the following styles: "qq{}", "qq()", "qq[]", and "qq//". This is useful because some folks have configured their editor to apply special syntax highlighting within certain styles of quotes. For example, you can tweak "vim" to use SQL highlighting for everything that appears within "qq{}" or "qq[]" quotes. But if those strings are literal, Perl::Critic will complain. To prevent this, put the following in your .perlcriticrc file: [ValuesAndExpressions::ProhibitInterpolationOfLiterals] allow = qq{} qq[] The flag "allow_if_string_contains_single_quote" permits double-quoted strings if the string contains a single quote (') character. It defaults to off; to turn it on put the following in your .perlcriticrc file: [ValuesAndExpressions::ProhibitInterpolationOfLiterals] allow_if_string_contains_single_quote = 1 SEE ALSO
Perl::Critic::Policy::ValuesAndExpressions::RequireInterpolationOfMetachars AUTHOR
Jeffrey Ryan Thalhammer <jeff@imaginative-software.com> COPYRIGHT
Copyright (c) 2005-2011 Imaginative Software Systems. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license can be found in the LICENSE file included with this module. perl v5.16.3 Perl::Critic::Policy::ValuesAndExpressions::ProhibitInterpolationOfLiterals(3)
All times are GMT -4. The time now is 02:51 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy