Problem here is that sed treats $ as a special characer meaning end of line as well as 
the korn
shell meaning variable replacement.

To avoid the shell evaluation, use ' not ".
to avoid the sed special charater, escape it.

echo '123$45$678' | sed 's/\$/\\\$/g'

Ron Thomas
Hypercom, Inc
[EMAIL PROTECTED]
Each new user of a new system uncovers a new class of bugs. -- Kernighan


                                                                                       
                                                          
                      [EMAIL PROTECTED]                                                
                                                          
                      Sent by:                 To:       [EMAIL PROTECTED]          
                                                          
                      [EMAIL PROTECTED]         cc:                                     
                                                          
                                               Subject:  OT: unix script quetion: to 
replace $ with \$                                           
                                                                                       
                                                          
                      02/03/2003 11:39                                                 
                                                          
                      AM                                                               
                                                          
                      Please respond to                                                
                                                          
                      ORACLE-L                                                         
                                                          
                                                                                       
                                                          
                                                                                       
                                                          




Hi:

I have a quick question about replacing "$" with "\$" on unix. I need to
convert string "123$45$678" to "123\$45\$678" through a pipe. I tried with
sed command, but could not get it to work:

essex$ echo "123$45$678" | sed s/"$"/"\$"/g
123578$
essex$ echo "123$45$678" | sed s/"$"/"\\$"/g
123578$

Maybe there is another syntax that I should use? TIA.

Guang Mei








_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE*
http://join.msn.com/?page=features/virus

--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: Guang Mei
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).





-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Ron Thomas
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to