Removal of comma(,) present inbetween double quotes(" ")


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Removal of comma(,) present inbetween double quotes(" ")
# 8  
Old 07-17-2009
Try this:

Code:
awk 'BEGIN{FS=OFS="\""}{for(i=2;i<NF;i+=2)gsub(",","~",$i)}1' file

# 9  
Old 07-17-2009
To keep the forums high quality for all users, please take the time to format your posts correctly.

First of all, use Code Tags when you post any code or data samples so others can easily read your code. You can easily do this by highlighting your code and then clicking on the # in the editing menu. (You can also type code tags [code] and [/code] by hand.)

Second, avoid adding color or different fonts and font size to your posts. Selective use of color to highlight a single word or phrase can be useful at times, but using color, in general, makes the forums harder to read, especially bright colors like red.

Third, be careful when you cut-and-paste, edit any odd characters and make sure all links are working property.

Thank You.

The UNIX and Linux Forums
# 10  
Old 07-17-2009
Quote:
Originally Posted by vsairam
Hi radoulov/quintet,

Above script is working fine but when ever it finds second and third souble quotes, in between these quotes what ever the commas(,) present are replacing with Tilde (~).
But my requiremet has to replace the commas present in between double quotes [1,2], [3,4],etc...not inbetween double quotes [2,3]...

For example :

Source record:

Code:
345,"abc,cde","Second,Record"

your script is giving output as:

Code:
345,"abc~cde"~"Second~Record"

My requirement is

Code:
345,"abc~cde","Second~Record"

[...]
Could you check again?

Code:
zsh-4.3.10[t]% cat infile 
123,abcd,FirstRecord
345,"abc,cde",SecondRecord
567,ghij,ThirdRecord
789,"klmn,opq",FourthRecord"
908,"zwec,ctu,kyz",FifthRecord
345,"abc,cde","Second,Record"
zsh-4.3.10[t]% perl -pe' 
  s{("[^"]+")}{($x=$1)=~tr/,/~/;$x}ge
  '  infile
123,abcd,FirstRecord
345,"abc~cde",SecondRecord
567,ghij,ThirdRecord
789,"klmn~opq",FourthRecord"
908,"zwec~ctu~kyz",FifthRecord
345,"abc~cde","Second~Record"

# 11  
Old 07-17-2009
It is working fine.....

Thankyou!!!
# 12  
Old 07-17-2009
here you go:
Code:
sed -e ':a' -e 's/\("[^"][^"]*\),\([^"][^"]*"\)/\1~\2/;ta' test.txt

but it wont work in this scenario: ",hello,world," -> ",hello~world,"
# 13  
Old 07-17-2009
--------------------------------------------------------------------------------

tr="1234,ram,\"ar,tr\",wer"
echo $tr
#tr="1234,ram,ar,tr,wer"
echo $tr | tr '"' ':' |awk -F":" '{print $1 ,$2, $3}'
echo $tr | tr '"' ':' |awk -F":" '{printf("%s \"%s\" %s \n ",$1,$2,$3)}' | read
a b c
b1=`echo $b | tr ',' '~'`
echo $a $b1 $c
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk to parse comma separated field and removing comma in between number and double quotes

Hi Experts, Please support I have below data in file in comma seperated, but 4th column is containing comma in between numbers, bcz of which when i tried to parse the file the column 6th value(5049641141) is being removed from the file and value(222.82) in column 5 becoming value of column6. ... (3 Replies)
Discussion started by: as7951
3 Replies

2. Shell Programming and Scripting

Removal of multiple characters with in double quotes

For one of my need I was going through post "Removal of new line character in double quotes" Which alister has replied like $ cat data "leave me alone" "ABCD RENT-A- CAR XYZ LTD","00N0H","Enterprise Lake"," 100 View Way" $ sed -n 'H;g;/^*"*\("*"*\)*$/d; s/^\n//; y/\n/ /; p; s/.*//; h'... (9 Replies)
Discussion started by: Jag_1981
9 Replies

3. Shell Programming and Scripting

Removal of comma within double quotes

Hi All, I am getting .csv file whenever there is a comma present between a field that field get enclosed with double quotes For eg as below abc,123,xxyy,2178 fgh,123,"x,x"yy",2178 ghi,123,"x,xyy",2178 jkl,123,xx"yy,2178 whereas I want my data as per below abc,123,xxyy,2178... (1 Reply)
Discussion started by: H_bansal
1 Replies

4. Shell Programming and Scripting

Replacing double quotes with the unicodes "urgent!"

Hi, I have the following text in a file <div class="snippet abstract"> We present a new "model" for multiple-input-multiple-output (MIMO) 'outdoor' has many things "what" ever </div></a href=sdfkkf"> </div> <div class="snippet context"> I have to replace the string between the <div... (1 Reply)
Discussion started by: vms
1 Replies

5. Shell Programming and Scripting

awk print - fields separated with comma's need to ignore inbetween double quotes

I am trying to re-format a .csv file using awk. I have 6 fields in the .csv file. Some of the fields are enclosed in double quotes and contain comma's inside the quotes. awk is breaking this into multiple fields. Sample lines from the .csv file: Device Name,Personnel,Date,Solution... (1 Reply)
Discussion started by: jxrst
1 Replies

6. Shell Programming and Scripting

Expect scripting - How to match a double quotes " "

I am trying to match a text which contains the " ", from the log file. But it doesn't match. I understand that " " has got a special meaning to TCL/Expect. hence I tried the following, but no luck. expect -ex { "lp -c -demail -ot\\\"firstname_surname@gmail.com\\\"... (3 Replies)
Discussion started by: prakasuj
3 Replies

7. Shell Programming and Scripting

Substituting comma "," for dot "." in a specific column when comma"," is a delimiter

Hi, I'm dealing with an issue and losing a lot of hours figuring out how i would solve this. I have an input file which looks like this: ('BLABLA +200-GRS','Serviço ','TarifaçãoServiço','wap.bla.us.0000000121',2985,0,55,' de conversão em escada','Dia','Domingos') ('BLABLA +200-GRR','Serviço... (6 Replies)
Discussion started by: poliver
6 Replies

8. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

9. Shell Programming and Scripting

Removal of new line character in double quotes

Hi, Could you please help me in removal of newline chracter present in between the double quotes and replacing it with space. For example ... Every field is wrapped with double quotes with comma delimiter, so I need to travese from first double quote occerence to till second double... (7 Replies)
Discussion started by: vsairam
7 Replies

10. Shell Programming and Scripting

comparing scalars contaning "DOUBLE QUOTES" as data

Hello to all, Does anyone know the solution ? Two strings A and B are present. I want to check whether B is a Substring of A. 1. The value of A is - 29 * * * /bin/ls "test" "tmp*" "log*" (Note: Pl note that A contains DOUBLEQUOTES, ASTERISK & FRONTSLASH) 2. The value of B is -... (5 Replies)
Discussion started by: rssrik
5 Replies
Login or Register to Ask a Question