Use the octal code for the character, and using the quoting
mechanism of your choice:

$ = octal 044

echo '123$45$678' | sed -e "s#\044#\\\044#g"

Jared






"Guang Mei" <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED]
 02/03/2003 12:09 PM
 Please respond to ORACLE-L

 
        To:     Multiple recipients of list ORACLE-L <[EMAIL PROTECTED]>
        cc: 
        Subject:        Re: OT: unix script quetion: to replace $ with \$


Hi, Brian:

Thanks for your (and others) help. I can not use signle quotes in "echo"
in my program. The reason is this:

I am trying to run table analyze in multiple treads (I found doing this 
reduce time by 50%). By doing this I run sh script 
"gather_ISI_table_stats_executeX.sh":

essex$ more gather_ISI_table_stats_executeX.sh
#!/bin/sh

sqlplus -s isi/password @/oracle/dba/get_ISI_tabs.sql | awk '{print "echo 
\""$0"\
" | sqlplus -s isi/password"}' |  /oracle/dba/executeX 3


Here executeX is a program to run multiple threads (3 in this case). The 
script "get_ISI_tabs.sql" is just a script to get all the tables in the 
schema. The problem is that there are Oracle Inter-Media tables like 
DR$TEST_CONTEXT$R which makes this whole script fail. I can not seem to 
find 
a way to get around of this issue.

essex$ more get_ISI_tabs.sql
-- Script for listing analyze table commands in decreating size
-- of tables

-- Turn off heading
SET NEWPAGE 0
SET SPACE 1
SET LINESIZE 512
SET PAGESIZE 0
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF

select  'execute DBMS_STATS.GATHER_TABLE_STATS('''||owner||''','''||
        segment_name||''',cascade => TRUE);'
  from  ( select  owner,segment_name, sum(bytes) from  dba_segments s
where  segment_type like 'TABLE%' and
        owner = 'ISI' and
        s.partition_name is null
group  by owner,segment_name
order  by sum(s.bytes) desc);

exit;

---------

Guang Mei








----Original Message Follows----
To: [EMAIL PROTECTED]
CC: [EMAIL PROTECTED]
Date: Mon, 3 Feb 2003 12:58:01 -0700


Your first "echo" needs to be in single quotes or else it results in...

29912:oracle@mybox> echo "123$45$678"
123578

Once that is done this...

29912:oracle@mybox> echo '123$45$678' | sed 's/\$/\\$/g'
123\$45\$678

...or this...

29912:oracle@mybox> echo '123$45$678' | sed 's/\$/\\\$/g'
123\$45\$678

...will work




                       "Guang Mei"
                       <[EMAIL PROTECTED]        To:       Multiple 
recipients of list ORACLE-L <[EMAIL PROTECTED]>
                       m>                       cc:
                       Sent by:                 Subject:  OT: unix script 
quetion: to replace $ with \$
                       [EMAIL PROTECTED]


                       02/03/03 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).


_________________________________________________________________
Tired of spam? Get advanced junk mail protection with MSN 8. 
http://join.msn.com/?page=features/junkmail

-- 
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: 
  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