Doubt in sed


 
Thread Tools Search this Thread
# 1  
Doubt in sed

Hi All

Can some one explain what does the given two sed commands do Smilie

Code:
sed "s/\'/\\\'/g" | 
sed 's/\"/\\\"/g'

Please find the sample code i used to find out what this is doing , but it has confused me more Smilie
Code:
 [xstif@cletld3 ~]$ cat sri1.txt
\
'
"
[xstif@cletld3 ~]$  sed 's/\"/\\\"/g' sri1.txt
\
'
\"
[xstif@cletld3 ~]$ sed "s/\'/\\\'/" sri1.txt
\\'
'\'
"\'

Can someone please help me

Thanks
Sri

Last edited by Scott; 02-10-2012 at 05:02 AM.. Reason: Please use code tags
# 2  
The first line should replace any occurrence of ' in a line with \'
While the second replaces any " with \".

Each backslash escapes it's neighbor on the right, so \\\' means to take the 2nd backslash literally as well as the single quotes. Otherwise, they are special chars.

Edit: now that I could test it, i find the first line to be confusing indeed as I don't get why it leaves an open pipe...

Last edited by chmod666; 02-10-2012 at 05:05 AM..
This User Gave Thanks to chmod666 For This Post:
# 3  
Thanks

But if you see the below set of codes ,
[xstif@cletld3 ~]$ cat sri1.txt
\
'
"
[xstif@cletld3 ~]$ sed 's/\"/\\\"/g' sri1.txt
\
'
\"
[xstif@cletld3 ~]$ sed "s/\'/\\\'/" sri1.txt
\\'
'\'
"\'


Its putting \' on the end of every line why is that ..
# 4  
Quote:
Originally Posted by chmod666
I hope this was not too confusing and correct ;-)
Almost. The quotes and double quotes need not be escaped (by a backslash), the backslash needs to be escaped only once, but in the first sed it needs an extra escape (because of the weak double quotes) from the shell. This should be equivalent:
Code:
sed "s/'/\\\'/g" | sed 's/"/\\"/g'

---------- Post updated at 09:48 ---------- Previous update was at 09:10 ----------

@sri3001: I can't reproduce, nor explain the behavior of your third example:
What OS are you on? Could you post the output of
Code:
od -c sr1.txt

---------- Post updated at 09:52 ---------- Previous update was at 09:48 ----------

Quote:
Originally Posted by chmod666
Edit: now that I could test it, i find the first line to be confusing indeed as I don't get why it leaves an open pipe...
The pipe is not open, it feeds the output of the first sed into the sed on the second line.

Last edited by Scrutinizer; 02-10-2012 at 05:18 AM..
This User Gave Thanks to Scrutinizer For This Post:
# 5  
Re

Hi Scrutinizer,

Please find the o/p of od -c command

[xstif@cletld3 ~]$ od -c sri1.txt
0000000 \ \n ' \n " \n
0000006


also the OS i am working with is Linux
# 6  
Strange, and this produces the same output?
Code:
sed "s/'/\\\'/g" sri1.txt

-and this-
Code:
sed 's/'\''/\\&./g' sri1.txt

 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #110
Difficulty: Easy
As of 2014, Apple's macOS was the largest Unix installed base globally.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed q predicate doubt

Hi, Could anyone please explain me what the following command does? sed -ne "/\"$var\"/{=;q}" file (1 Reply)
Discussion started by: royalibrahim
1 Replies

2. UNIX for Dummies Questions & Answers

sed basic doubt

Hi , what is the equivalent of below awk in sed. awk '$1=="ABC"&&$2=="XYZ" {print $0}' infile Thanks, Shruthi (6 Replies)
Discussion started by: shruthidwh
6 Replies

3. Shell Programming and Scripting

sed doubt in extracting

Hi, Can anyone help me in understanding how the below code works? echo "texxt" | sed 's///' gives output exxt, ideally it should give xxt. as this should remove the chars which is not x. echo 'x_a_b_a_c_a_d' | sed 's/.*\(a\)/\1/' gives output as a_d, which should be 'a' as it's the only... (2 Replies)
Discussion started by: royalibrahim
2 Replies

4. Shell Programming and Scripting

sed doubt...

Hi, i need find and replace a sting with a new variable having value as spaces in between. Eg: set a = "i am variable" set b = "i am second" sed -e 's/find_string/'$a'/g' -e 's/find2_str/'$b'/g' input_file here it is giving error... How to get an varaible, which is... (6 Replies)
Discussion started by: vasanth.vadalur
6 Replies

5. Shell Programming and Scripting

sed command doubt

i have input files like this SFE_DOC_DATE (SFE_DOC_DATE:UniChar.:): "04/18/20" SFE_PSTNG_DATE (SFE_PSTNG_DATE:UniChar.:): "04/18/20" SFE_CREATEDON (SFE_CREATEDON:UniChar.:): "05/31/20" SFE_CLEAR_DATE (SFE_CLEAR_DATE:UniChar.:): "(NULL)" SFE_CLR_DOC_NO... (3 Replies)
Discussion started by: Gopal_Engg
3 Replies

6. Shell Programming and Scripting

A sed doubt - need explanation

Hi, The following command works fine for me, but I could not grasp the logic working behind of sed command, it's obscure to me :( :confused: echo "./20080916/core/audioex.amr" | sed "s%\(\)/%\1_%g" o/p: ./20080916_core_audioex.amr Could anyone please explain to me in detail, that how... (6 Replies)
Discussion started by: royalibrahim
6 Replies

7. Shell Programming and Scripting

Basic SED doubt

Hi Friends!! I want to add a / at the end of a number. for example i have CQ65758 /, in this case i want to shift that backspace one space to the left so the my result becomes CQ65758/. How can i do that with sed. Thanks Adi (3 Replies)
Discussion started by: asirohi
3 Replies

8. UNIX for Advanced & Expert Users

Doubt in SED command

PLEASE EXPLANIN ME... sed 's~\(.*\)\(<name>\)\(.*\)\(</name>\)\(.*\)~\2\3\4~' this is the format <start><name>123<\name><addr>BAC<\addr><loc>sfo<\loc></start> (1 Reply)
Discussion started by: gksenthilkumar
1 Replies

9. UNIX for Dummies Questions & Answers

doubt in sed

hi all, i have a variable exported as VAR=ATTRIB then tried with, echo "tt" | sed 's/^/$VAR/' expected result as ttATTRIB but obtained only, $VARtt i could nt get where i am wrong. Thanks. (3 Replies)
Discussion started by: matrixmadhan
3 Replies

10. Shell Programming and Scripting

doubt it sed

Hello.. i want to use variable in sed.. like sed 's/ROOTMAILID/$variable/g' conf.test but its not working.. please help thanks in advance esham (2 Replies)
Discussion started by: esham
2 Replies

Featured Tech Videos