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  
Old 09-30-2008
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  
Old 09-30-2008
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  
Old 09-30-2008
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  
Old 10-01-2008
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
Login or Register to Ask a Question

Previous Thread | Next Thread

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
Login or Register to Ask a Question