Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: Unix Q: Substring-ing an output.
As is often the case, there are a million ways to do this. Given the
output listed, I'd do something like:
ps -ef|grep pmon|grep -v grep|awk '{ print $8 }'|awk -F_ '{ print $3 }'
ps -ef -- get the programs that are running grep pmon -- get only those lines that have 'pmon' in them grep -v grep -- drop out the line that has 'grep pmon' awk '{ print $8 }' -- get the eighth column, the program name awk -F_ '{ print $3 }' -- parse the program name on the '_' and return the third field, the database name.
Hope that helps,
-Mark
On Sun, 2002-10-27 at 20:43, Ross Collado wrote:
>
> Hi All,
>
> I want to feed my shell script with the names of currently running
> databases. I thought of using ps -ef|grep [p]mon. What I got was the
> following:
> oracle 20113 1 0 Oct 25 ? 0:01 ora_pmon_TLDEV
> oracle 898 1 0 Jul 22 ? 0:06 ora_pmon_TLQA
> oracle 944 1 0 Jul 22 ? 0:07 ora_pmon_TLQAVAR
> oracle 19588 1 0 Oct 25 ? 0:00 ora_pmon_DBMON
> oracle 13509 1 0 12:16:13 ? 0:00 ora_pmon_RMAN
> oracle 20450 1 0 Oct 25 ? 0:00 ora_pmon_PRDINF
> oracle 13026 1 0 Oct 26 ? 0:00 ora_pmon_TLDVVAR
>
> What I wanted is get only the db name part eg. TLDEV, RMAN, DBMON,etc. I
> don't want to rely on oratab file.
> I was thinking of using 'cut' to cut out the last field and do some ${X##}
> (variable pattern substitution) to get to the dbname bit. The trouble is
> the number of fields in a ps -ef output is not consistent. As you can see
> I've just restarted RMAN and now it only has 8 fields as compared to 9 for
> the others.
>
> Any suggestions? Or another way of doing it?
> Using KSH on Solaris 8.
>
> Thanks.
> Ross
-- -- Mark J. Bobak Oracle DBA mark_at_bobak.net "It is not enough to have a good mind. The main thing is to use it well." -- Rene Descartes -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Mark J. Bobak INET: mark_at_bobak.net 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: ListGuru_at_fatcity.com (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).Received on Sun Oct 27 2002 - 20:53:35 CST
![]() |
![]() |