Visit Our UNIX and Linux User Community


replacing a quote in some lines with multiple quote fields


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting replacing a quote in some lines with multiple quote fields
# 1  
Old 06-02-2010
replacing a quote in some lines with multiple quote fields

i want to replace mistaken quotes in line starting with tag 300 and relocate the quote in the correct position so the input is
223;25
224;20100428064823;1;0;0;0;0;0;0;0;8;1;3;9697;18744;;;;;;;;;;;;
300;X;Event: "419031003804486","76","2010/04/28-06-48-23.00",,,,,,,,,"9697","18744","28441",,,"4676",,,,,,,,,"blackb"e"rry."net,"419031003804486",,"1",,,, ,,
Footer: text_data_transfer_file

and i need to replace field #26 in the line starting with 300;X; from "blackb"e"rry."net to "blackberry.net"
so the corrected version from the previous one should be
223;25
224;20100428064823;1;0;0;0;0;0;0;0;8;1;3;9697;18744;;;;;;;;;;;;
300;X;Event: "419031003804486","76","2010/04/28-06-48-23.00",,,,,,,,,"9697","18744","28441",,,"4676",,,,,,,,,"blackberry.net","419031003804486",,"1",,,,,,
Footer: text_data_transfer_file
# 2  
Old 06-02-2010
Code:
awk -F","  '/^300;/ {$26=sprintf("%c%s%c", 34, "blackberry.net", 34)}  {print $0} '  oldfile > newfile

# 3  
Old 06-02-2010
this was OK ,
but it is not always "blackberry.net" , it could be other values
for example :
300;X;Event: "204043100439143","76","2010/05/31-22-58-48.00",,,,,,,,,"155","104","259",,,"281",,,,,,,,,E"MGS"M.VZW3G".COM
,"204
043100439143",,"1",,,,,,
# 4  
Old 06-02-2010
Code:
awk -F, '/^300/ {gsub(/"/,"",$26);sub(/.*/,"\"&\"",$26);print;next;} {print;} old.file > new.file

This User Gave Thanks to bartus11 For This Post:

Previous Thread | Next Thread
Test Your Knowledge in Computers #163
Difficulty: Easy
MINIX was first released in 1987, with the complete source code available to universities for study in courses and research.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replacing all but the first and last double quote in a line with a single quote with awk

From: 1,2,3,4,5,This is a test 6,7,8,9,0,"This, is a test" 1,9,2,8,3,"This is a ""test""" 4,7,3,1,8,"""" To: 1,2,3,4,5,This is a test 6,7,8,9,0,"This; is a test" 1,9,2,8,3,"This is a ''test''" 4,7,3,1,8,"''"Is there an easy syntax I'm overlooking? There will always be an odd number... (5 Replies)
Discussion started by: Michael Stora
5 Replies

2. Shell Programming and Scripting

Replacing Double Quote in Double Quote incsv file

Hi All , We have source data file as csv file and since data could contain commas ,each attribute is quoted into double quotes.However problem is that some of the attributa data also contain double quotes which is converted to double double quote while creating csv file XLs data : ... (2 Replies)
Discussion started by: Shalini Badal
2 Replies

3. Shell Programming and Scripting

Replacing trailing space with single quote

Platform : RHEL 5.8 I want to end each line of this file with a single quote. $ cat hello.txt blueskies minnie mickey gravity snoopyAt VI editor's command mode, I have used the following command to replace the last character with a single quote. ~ ~ ~ :%s/$/'/gNow, the lines in the... (10 Replies)
Discussion started by: John K
10 Replies

4. Shell Programming and Scripting

printing lines contain double quote

Hello , I got html file , these file are normal html as we can see . what i would like to do is in this html file , i want to print only string start with double quote and end with double quote by line by line. <tr><td valign=top>25.</td><td><A... (8 Replies)
Discussion started by: davidkhan
8 Replies

5. Shell Programming and Scripting

Replacing the string after certain # of double quote

Could you please help in unix scripting for below scenario... In my input file, there might be a chance of having a string ( Ex:"99999") after 5th double quote for each record. I need to replace it with a space. Ex : Input : "abcdef","12345","99999","0986"... (3 Replies)
Discussion started by: vsairam
3 Replies

6. Shell Programming and Scripting

Regex in grep to match all lines ending with a double quote (") OR a single quote (')

Hi, I've been trying to write a regex to use in egrep (in a shell script) that'll fetch the names of all the files that match a particular pattern. I expect to match the following line in a file: Name = "abc" The regex I'm using to match the same is: egrep -l '(^) *= *" ** *"$' /PATH_TO_SEARCH... (6 Replies)
Discussion started by: NanJ
6 Replies

7. Shell Programming and Scripting

Multiple characters including single quote in delimiter

Hello, I need to replace the comma to something else between the single quote: 1aaa,bbb,'cc,cc','ddd',1 2aaa,bbb,'ccc','d,d',0 to 1aaa,bbb,'cc<comma>cc','ddd',1 2aaa,bbb,'ccc','d<comma>d',0 Can someone help? Thanks. (2 Replies)
Discussion started by: bgirl
2 Replies

8. Shell Programming and Scripting

double-quote inside double-quote

hey all, i made a simple .sh like this: echo "<style media="screen" type="text/css">@import url("main.css");</style>" but the output is: <style media=screen type=text/css>@import url(main.css);</style> i want to keep double-quotes, can anyone help me? thanks (3 Replies)
Discussion started by: indraf
3 Replies

9. Shell Programming and Scripting

Capturing Data between first quote and next quote

I have input file like RDBMS FALIURE UTY8703 'USER_WORK.TEST' .HIghest return code '12' I want to parse data which comed between first quote till next quote USER_WORK.TEST can you please suggest how to do that (4 Replies)
Discussion started by: scorp_rahul23
4 Replies

10. Shell Programming and Scripting

Replacing a single quote

Hi there I have a data file like so below 'A/1';'T100002';'T100002';'';'01/05/2004';'31/05/2004';'01/06/2004';'08/06/2004';'1.36';'16';'0.22';'0';'0';'1.58';'0';'0';'0';'0';'0';'0';'clientes\resumen\200405\resumen_T100002_T100002_1.pdf';'';'0001';'S';'20040501';'';'02';'0';'S';'N'... (3 Replies)
Discussion started by: rjsha1
3 Replies

Featured Tech Videos