Try : ps -ef|grep pmon|grep -v grep | awk '{ print $NF }' |awk -F_ '{ print $3 }'
The 'NF' is number of fields and will give you the last field regardless of the number. I use this technique all the time. If you don't want the last field, you can use: awk '{ i=NF-1; print $i }' where -1 is the next to last field. HTH, John Carlson www.cj.com >>> [EMAIL PROTECTED] 10/28/02 03:24PM >>> Very clever! But unfortunately, -F accepts only 1 character. I tried that though... Ross > -----Original Message----- > From: Henry Poras [mailto:hporas@;etal.URI.EDU] > Sent: Tuesday, 29 October 2002 3:43 > To: Multiple recipients of list ORACLE-L > Subject: RE: Unix Q: Substring-ing an output. > > > Quick thought. What about just setting awk -F_ to awk -Fpmon_ ??? > > Henry > > -----Original Message----- > Bobak > Sent: Sunday, October 27, 2002 11:49 PM > To: Multiple recipients of list ORACLE-L > > > Hmm...good point. You know, I use this technique in various > places. I > never noticed that bug before, cause it will only appear if > the database > has been up less than 1 day. Guess it's time to do a bit of script > auditing. > > Ok, try this instead: > ps -ef|grep pmon|grep -v grep|cut -c49- |awk -F_ '{ 'print $3 }' > > I replaced the first awk w/ cut. the -c option says to cut > that output > from position 49 to the end of the line. You may have to adjust the > value from 49 to something else. > > That ought to work for you. > > -Mark > On Sun, 2002-10-27 at 22:53, Ross Collado wrote: > > Thanks Mark. > > > > Yes that helps, in a way. I could use good ol' awk to parse the last > field! > > However, a slight problem in the ps -ef output. If I do > what you have > > suggested on my 'ps -ef' output below, I would only get > RMAN as it is the > > only one in field #8. All the rest are in field #9. All I > need now is > > figure out how to cut the last field then pipe it to your > awk command. > > Ok I'm getting somewhere! > > > > Rgds, > > Ross > > > > > > > > > -----Original Message----- > > > From: Mark J. Bobak [mailto:mark@;bobak.net] > > > Sent: Monday, 28 October 2002 13:54 > > > To: Multiple recipients of list ORACLE-L > > > Subject: 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 > > > [EMAIL PROTECTED] > > > "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: [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). > > -- -- Mark J. Bobak Oracle DBA [EMAIL PROTECTED] "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: [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.com -- Author: Henry Poras 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 1 0 Oct 25 ? 0:01 o 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.com -- Author: Ross Collado 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.com -- Author: John Carlson 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).