Complicated string searching in a file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Complicated string searching in a file
# 1  
Old 09-21-2005
Complicated string searching in a file

Hi folks,

Following a part of opmn.xml file:
Code:
            <process-type id="OC4J_RiGHTv_PLATOR81" module-id="OC4J">
               <environment>
                  <variable id="LD_LIBRARY_PATH" value="/home/ias/v10.1.2/lib" append="true"/>
                  <variable id="SHLIB_PATH" value="/home/ias/v10.1.2/lib32" append="true"/>
               </environment>
               <module-data>
                  <category id="start-parameters">
                     <data id="java-options" value="-server -Djava.security.policy=/home/ias/v10.1.2/j2ee/OC4J_RiGHTv_PLATOR81/config/java2.policy -Djava.awt.headless=true -Drightv.root=/home/ias/v10.1.2/j2ee/OC4J_RiGHTv_PLATOR81 -Xmx512M -Duser.timezone=GMT+03:00"/>
                     <data id="oc4j-options" value="-properties"/>
                  </category>
                  <category id="stop-parameters">
                     <data id="java-options" value="-Djava.security.policy=/home/ias/v10.1.2/j2ee/OC4J_RiGHTv_PLATOR81/config/java2.policy -Djava.awt.headless=true -Drightv.root=/home/ias/v10.1.2/j2ee/OC4J_RiGHTv_PLATOR81 -Xmx512M -Duser.timezone=GMT+03:00"/>
                  </category>
               </module-data>
               <start timeout="900" retry="2"/>
               <stop timeout="120"/>
               <restart timeout="720" retry="2"/>
               <port id="ajp" range="3301-3400"/>
               <port id="rmi" range="4021-4032"/>
               <port id="jms" range="3821-3822"/>
               <process-set id="default_island" numprocs="1"/>
            </process-type>

This section appears a lot of times in this file. The uniqueness key is the schema name. In this example,the schema name is PLATOR81.
I need to find what is the first number in the line :
<port id="jms" range="3821-3822"/>
In this example : 3821

The steps suppose to be:
1. Find the line : <process-type id="OC4J_RiGHTv_PLATOR81"
2. Under this line ,find the line : <port id="jms" range="3821-3822"/>
3. Cut the first number after "range="

Is there a way to do it in one command?

Thanks in advance,
Nir
# 2  
Old 09-21-2005
3. Cut the first number after "range="

Cut ? What do you mean ? Retrieve the first number only or remove that number from the line ?

vino
# 3  
Old 09-21-2005
Looks very similiar to another post of yours Cutting number from range in xml file

Change the rmi to jms in the sed solution.

vino
# 4  
Old 09-21-2005
Hi vino,

How are you?

In this thread I need something different than my former thread.
I need to retrieve the first number only after "range=" in this file section.
Last time I needed to replace the values in the section and you gave me a beautiful "sed" command.
Now I need to retrieve a value.

Thanks again!

Nir
# 5  
Old 09-21-2005
Without re-inventing the wheel again, here is the solution

Code:
sed -n '/process-type id="'"OC4J_RiGHTv_PLATOR81"'"/,/<\/process-type>/{ s/<port id="jms".*\([0-9]\{4\}\)-.*/\1/p }' nir.xml

vino
# 6  
Old 09-21-2005
It seems that you invented the wheel of sed ....
As always,your solutions are amazing!

Thanks a lot my friend!!

Best regards,
Nir
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Complicated string

I have a data file example 10302|77747373|442422442|290209|244242|"234|2352"|92482892 It has about 5000 rows the same way in that field. Needs to look like this.... I need to remove the quotes but the more difficult thing is to remove the pipe between the quotes because there is a pipe... (6 Replies)
Discussion started by: xgringo
6 Replies

2. Shell Programming and Scripting

Searching a string in a particular file name

Hello, I have a file name like FIRST_DPF_DAILY_CUST_0826152322.txt i need to extract the string after the third "_" underscore upto timestamp ends i.e CUST_0826152322 can anyone help me with the code Thank you! Regards Srikanth Sagi (3 Replies)
Discussion started by: srikanth_sagi
3 Replies

3. Shell Programming and Scripting

Searching a string stored in other file

I need to design a script which can do the following: I have two files abc.txt and constant.hmtl abc.txt contains some 5 string that I need to see if they exist in contants.html. Constants.hmtl is a very large file around 800 lines. I want to search all the strings present in file... (8 Replies)
Discussion started by: hemasid
8 Replies

4. Shell Programming and Scripting

Searching a string in a file using perl

Hi I would like to read a file using perl and search for a string (last entry). Then read that into an array and do further grep File content for ex: comp=a,value=30,runtime=12,type=lic comp=d,value=15,runtime=2,type=lic comp=a,value=90,runtime=43,type=lic... (1 Reply)
Discussion started by: vivek_damodaran
1 Replies

5. Shell Programming and Scripting

Searching for a specific string in a file

Hi I am trying to search for a certain set of patterns within a file, and then perform other commands based on output. testfile contents: password requisite pam_cracklib.so lcredit=-1 ucredit=-1 ocredit=-1 script: D="dcredit=-1" if then echo $D exists else echo $D doesnt... (8 Replies)
Discussion started by: bludhemn
8 Replies

6. Shell Programming and Scripting

searching each file for a string

Hi Guys... I want to search for each file that contains a particular string. e.g find . -print | xargs grep -i string_name Now my issue is the files that I search in are gzipped. Will I be able to find the string, using the above commands, even if the files are gzipped? Please... (2 Replies)
Discussion started by: Phuti
2 Replies

7. Shell Programming and Scripting

Searching a string in a file

Hi, I am new to unix shell scripting. I have a requirement. Could anyone help me writing the script for the same? Here goes the requirement: I have a config file let's say temp.config. Here is the data in the config file temp.config : ------------- name=victor age=42 state=texas... (5 Replies)
Discussion started by: badrimohanty
5 Replies

8. UNIX for Dummies Questions & Answers

searching for a string in a file

I need to search for a specific string in a file and if this string exist I need to replace it with something else. I am not sure how I could do this, using an if statement. (2 Replies)
Discussion started by: ROOZ
2 Replies

9. Shell Programming and Scripting

Extracting a string from one file and searching the same string in other files

Hi, Need to extract a string from one file and search the same in other files. Ex: I have file1 of hundred lines with no delimiters not even space. I have 3 more files. I should get 1 to 10 characters say substring from each line of file1 and search that string in rest of the files and get... (1 Reply)
Discussion started by: mohancrr
1 Replies

10. UNIX for Dummies Questions & Answers

searching for a string though file system

Is there a way to search an entire file system for the occurance of a string..... other than grep. I have a large directory structure and I'm not certain that grep <string> */*/*/*... is all that effective - especially as I can't be sure of the number of levels to go down without heaps of... (3 Replies)
Discussion started by: peter.herlihy
3 Replies
Login or Register to Ask a Question