Visit The New, Modern Unix Linux Community


Need help in finding and replacing port numbers.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need help in finding and replacing port numbers.
# 1  
MySQL Need help in finding and replacing port numbers.

Hi All,

I am trying to write a shell script which firstly will search some files and then increase the port numbers mentioned in them by a certain no.

let me clear it with an example-
suppose there r few files a,b,c,d....

file a's content-

<serverEntries xmi:id="ServerEntry_1" serverDisplayName="server1" serverName="server1" serverType="APPLICATION_SERVER">
<specialEndpoints xmi:id="NamedEndPoint_1" endPointName="BOOTSTRAP_ADDRESS">
<endPoint xmi:id="EndPoint_1" host="stlhp59.amdocs.com" port="9810"/>
</specialEndpoints>
<specialEndpoints xmi:id="NamedEndPoint_2" endPointName="SOAP_CONNECTOR_ADDRESS">
<endPoint xmi:id="EndPoint_2" host="stlhp59.amdocs.com" port="8880"/>


file b's content-

<transports xmi:type="applicationserver.webcontainer:HTTPTransport" xmi:id="HTTPTransport_1218229086147" external="false" sslEnabled="false" sslConfig=
"amssManagerPS2-stlhp59/DefaultSSLSettings">
<address xmi:id="EndPoint_1218229086147" host="*" port="32203"/>
</transports>
<transports xmi:type="applicationserver.webcontainer:HTTPTransport" xmi:id="HTTPTransport_1218229103919" external="false" sslEnabled="true" sslConfig="
amssManagerPS2-stlhp59/DefaultSSLSettings">
<address xmi:id="EndPoint_1218229103919" host="*" port="32204"/>


there r few more files----

now i want to increase all the values of ports (only port and not transport n other port containing words) by 200.

can some one help.. how to get the above mentioned result
# 2  
Assuming the same file format as above:

Code:
for file in files_list*
 do
  awk -F'"' '/port="[0-9]+"/{OFS=FS; $(NF-1)=$(NF-1)+200; print; next}1'   "$file" > "$file".new
 done


Last edited by rubin; 09-30-2008 at 09:05 PM.. Reason: quoting variables
# 3  
if you have Python
Code:
import os,glob,re,fileinput
pat=re.compile("port=\"(.*?)\"")
directory="/home/yhlee/test/"
for files in glob.glob(directory+"/file"):
    for lines in fileinput.FileInput(files,inplace=1):
        lines = lines.strip()
        if "EndPoint" in lines and pat.search(lines):
            port=int(pat.findall(lines)[0]) + 200
            print pat.sub("port=\""+str(port)+"\"",lines)            
        else:
            print lines


Last edited by ghostdog74; 09-30-2008 at 10:12 PM..
# 4  
CPU & Memory

Thanks for the above posts but

The number of files are not fixed... also I need a shell script solution n not have python.

also ...the script can have perl commands in it.

Please help

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #715
Difficulty: Easy
A stored-program computer is a computer that stores program instructions on external hard drives..
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replacing a character between two numbers

Hi, I need to replace a character between two numbers (specifically a - to a _). The problem is that they can be *any* numbers. So, I need a one liner to turn a file like this: 1-2 3-4 55-66 4323-12312893 into the following 1_2 3_4 55_66 4323_12312893 Any help would be appreciated! (5 Replies)
Discussion started by: mikey11415
5 Replies

2. Shell Programming and Scripting

SFTP - using port numbers?

Hi Guys, I saw this line of code in a script sftp username@hostname#2200 get file and the script never asked for password. Can you please explain on this?:confused: (9 Replies)
Discussion started by: PikK45
9 Replies

3. Shell Programming and Scripting

Mapping and replacing numbers in two files

hi i have two files one of the form 1 2 2 45 3 56 4 98 5 6598 6 98 7 10 8 0 9 15 10 56 This file's significance is that it maps the number in first column to that of the number in second column The other file is of the form 1 2 (1 Reply)
Discussion started by: vaibhavkorde
1 Replies

4. Shell Programming and Scripting

Finding and replacing links

Hi, I would like to do a scripting for finding the links based on the name I have and replace the links with the new name. General find command lists everything for that links ( means all the sub-sirs and all the files), i need only the main link and replace. Can you anyone give me some... (1 Reply)
Discussion started by: rrb2009
1 Replies

5. Shell Programming and Scripting

Replacing numbers in bash scripts

Hi, I have lines in some files that look exactly as below, and the line numbers they occur in are always the same. (Lines 136-139) W 0.00000000 0.00000000 2.00000000 W 0.50000000 0.50000000 2.50000000 W 0.00000000 0.00000000 3.00000000 W 0.50000000 0.50000000 3.50000000 I'd like to... (0 Replies)
Discussion started by: bluesmodular
0 Replies

6. Shell Programming and Scripting

Replacing Port number Using Sed

Hi Im trying to replace http port value.However for some reason its not working.Can you guys take a look and hit me with suggestions please.Your help is much appreciated. echo "Enter Value" read ans sed -i "s/http-port = 80 /http-port = $ans/g" demo Note:demo is the filename ... (6 Replies)
Discussion started by: coolkid
6 Replies

7. Solaris

Finding port number !!

Hi all , I want know the port no on which a particular application is running. How to find that? Thanks in anticipation (11 Replies)
Discussion started by: kumarmani
11 Replies

8. Shell Programming and Scripting

replacing numbers greater than 0 with 1

I have some ASCII files containing numerous numbers. What I'd like to do is replace all numbers greater than 0 with 1. Examples of the numbers include: - 000011 and 000042 Thanks (4 Replies)
Discussion started by: vrms
4 Replies

9. UNIX for Dummies Questions & Answers

shellscript for finding and replacing in DG-UNIX

Newby here..... Is there any way of doing a find & replace within a huge file other than using something like : " vi - FileForReplacing < /u1/excel/consultants " contents of consultants file looks like :1,$s/0000031/CON/g :1,$s/0001032/JONES/g :1,$s/0001355/SMITH/g... (3 Replies)
Discussion started by: Gerry405
3 Replies

10. IP Networking

finding port numbers

hither! whatz the command to find which process is using a specific port number? for example, port 8082? (3 Replies)
Discussion started by: darkcastle
3 Replies

Featured Tech Videos