Extract character from string


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Extract character from string
# 1  
Old 03-12-2009
Extract character from string

ps -eaf | grep “oracleTRLV (LOCAL=NO)” | while read ora_proc
do
echo $ora_proc
done

I would like to modify the above shell so that if character 13 and 14 equal "12" to do something.

Sorry I'm new to shellSmilie

# 2  
Old 03-12-2009
grep -v '^.\{11\}12'

Code:
ps -eaf | grep “oracleTRLV (LOCAL=NO)” |  grep -v '^.\{12\}12' | \
while read ora_proc 
do
echo $ora_proc
done

This skips over any output from ps the has a "12" starting at pos 13
# 3  
Old 03-12-2009
Shell programming in HP-Unix

I have to build the "12" dinamically (number of minutes) and to check if what's in the string at that position is greater then this ("12" in this case) number of minutes.
# 4  
Old 03-12-2009

Code:
ps -eaf |
 awk '/oracleTRLV (LOCAL=NO)/ && substr($0,13,2) >= 12 {
    print substr($0,13,2), $0}
' |
 while read num ora_proc
 do
     echo num=$num
     echo $ora_proc
 done

# 5  
Old 03-12-2009
Shell

Chris, I don't see in the script how do you build the number of minutes.

Let me explain what I want to do: I have an application that creates processes in HP-Unix that for some reason don't "die".
The result of:
ps -eaf|grep "oracleTRLV (LOCAL=NO)"

are rows like this:
oracle 1769 1 0 15:24:13 ? 0:00 oracleTRLV (LOCAL=NO)

I want to make a shell (I will run it every 15 minutes) that will take each row and "kill" all the processes that are older then 15 minutes.

By the way, I bought your book "Shell Scripting Recipes" but is way to advanced for me.

So, how do I start?
# 6  
Old 03-12-2009
If you're on Solaris, look into:
Code:
ps -e -o pid,etime,comm

'man ps' yields:
Code:
     etime In the POSIX locale, the elapsed time since  the  pro-
           cess was started, in the form:

           [[dd-]hh:]mm:ss

           where

     dd    is the number of days

     hh    is the number of hours

     mm     is the number of minutes

     ss    is the number of seconds

     The dd field will be a decimal integer. The hh,  mm  and  ss
     fields will be two-digit decimal integers padded on the left
     with zeros.

The it becomes a matter of simple parsing of the second field and converting it to seconds and comparing it against your crontab scheduling policy (15mins).
# 7  
Old 03-13-2009
Shell

I'm on HP-Unix 10 and the above doesn't work.

Stupid questions:
1) How do I assign a value to a variable in hp-unix?
2) How do I concatenate 2 variables in hp-unix?
3) How do I write an "if" statement in hp-unix?
4) How to I extract a piece of a string inside an "if" statement?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed searches a character string for a specified delimiter character, and returns a leading or traili

Hi, Anyone can help using SED searches a character string for a specified delimiter character, and returns a leading or trailing space/blank. Text file : "1"|"ExternalClassDEA519CF5"|"Art1" "2"|"ExternalClass563EA516C"|"Art3" "3"|"ExternalClass305ED16B8"|"Art9" ... ... ... (2 Replies)
Discussion started by: fspalero
2 Replies

2. Shell Programming and Scripting

Extract all first numeric character from a string

Hello, I have a file of strings a below:- 4358RYFHD9845 28/COC/UYF984 9834URD 98HJDU I need to extract all the first numeric character of every sting as follows:- 4358 28 9834 thanks to suggest ASAP Regards, Jasi Use code tags, thanks. (7 Replies)
Discussion started by: jassi10781
7 Replies

3. Shell Programming and Scripting

Search String and extract few lines under the searched string

Need Assistance in shell programming... I have a huge file which has multiple stations and i wanted to search particular station and extract few lines from it and the rest is not needed Bold letters are the stations . The whole file has multiple stations . Below example i wanted to search... (4 Replies)
Discussion started by: ajayram_arya
4 Replies

4. Shell Programming and Scripting

How to extract the certain position's character in a string

Suppose there are two files: A, format is like: line1 12 line2 33 line3 6 ... B, format is like: >header taaccctaaccctaaccctaacccaaccccaccccaaccccaaccccaac ccaaccctaaccctaaccctaacccaaccctaaccctaaccctaacccaa ccctcaccctcaccctcaccctcaccctcaccctcaccctcaccctaacc... (1 Reply)
Discussion started by: bioinflix
1 Replies

5. Shell Programming and Scripting

to extract string from main string and string comparison

continuing from my previous post, whose link is given below as a reference https://www.unix.com/shell-programming-scripting/171076-shell-scripting.html#post302573569 consider there is create table commands in a file for eg: CREATE TABLE `Blahblahblah` ( `id` int(11) NOT NULL... (2 Replies)
Discussion started by: vivek d r
2 Replies

6. Shell Programming and Scripting

Korn: How to loop through a string character by character

If I have a string defined as: MyString=abcde echo $MyString How can I loop through it character by character? I haven't been able to find a way to index the string so that I loop through it. shew01 (10 Replies)
Discussion started by: shew01
10 Replies

7. Shell Programming and Scripting

Extract the last character of a string

How can I extract the last character of a string (withou knowing how many characters are in that string ! ) (8 Replies)
Discussion started by: annelisa
8 Replies

8. Shell Programming and Scripting

extract character + 1

Hi, I would like extract from a file a character or pattern after ( n + 1) a specific pattern (n) . ( i supposed with awk) how could i do ? Thanks in advance. (1 Reply)
Discussion started by: francis_tom
1 Replies

9. UNIX for Advanced & Expert Users

Extract a character

HI Guys, Have a Doubt...... I have a pattern "abcdef" and i need to extract the third character..ie(c) How to achieve it? (10 Replies)
Discussion started by: aajan
10 Replies

10. Shell Programming and Scripting

Need help to extract a string delimited by any special character

I have a string as follows IS*blahblah TED~blahblah etc. I want to list down only IS and TED Can someone help me? (24 Replies)
Discussion started by: kumariak
24 Replies
Login or Register to Ask a Question