Bash cript to calculate summarize address


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Bash cript to calculate summarize address
# 1  
Old 01-29-2016
Bash cript to calculate summarize address

Hi,

I need to write a bash script that when i enter two ip address, it will calculate summerize address for them.

Examlpe:

Code:
192.168.1.27/25
192.168.1.129/25

Result will be:
Code:
192.168.1.0/24

can you help me with this script?
I even dont know how to start with it

Last edited by Don Cragun; 01-29-2016 at 05:10 PM.. Reason: Add CODE tags.
# 2  
Old 01-29-2016
How do you define a "summarize address"? Above addresses are on different subnets, one is 192.168.1.0/25, and the other is 192.168.1.128/25. Is the desired result the maximum number of identical leading bits?
# 3  
Old 01-29-2016
Network summarization is the act of taking two or more IP networks and using a single IP network to represent them all
# 4  
Old 02-02-2016
I came up with this - not thoroughly tested, and not necessarily most efficient, and possibly won't run with sh, but seems to work (with e.g. recent bash):
Code:
MAX=0
OLDIP=0
while read LINE
  do    IP=$((0x$(printf "%02X" ${LINE//./ })));
        if [ "$OLDIP" -gt 0 ]
          then  TMP=$((IP ^ OLDIP ))
                if [ "$TMP" -gt "$MAX" ]
                  then MAX=$TMP
                  fi
          fi
        OLDIP=$IP
  done < $1

for ((EXP=1; EXP<=32 && 2**EXP<=MAX; EXP++)); do :; done
NET=$((IP & (2**EXP - 1 ^ 2**32 - 1) ))
printf "SuperNet: %d.%d.%d.%d/%d\n" $((NET>>24)) $((NET>>16&255)) $((NET>>8&255)) $((NET&255)) $((32-EXP));

Put into a script file, make it executable, put your IPs into another file, and run script like
Code:
./script filr
SuperNet: 192.168.1.0/24


Last edited by RudiC; 02-02-2016 at 08:13 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash to calculate average of all files in directory and output by part of filename

I am trying to use awk to calculate the average of all lines in $2 for every file in a directory. The below bash seems to do that, but I cannot figure out how to capture the string before the _ as the output file name and have it be tab-delimeted. Thank you :). Filenames in... (3 Replies)
Discussion started by: cmccabe
3 Replies

2. Shell Programming and Scripting

IP Address LookUp Bash Script

I am new to bash scripting. I want write a script that reads from the first argument file and run nslookup, then prints out each nslookup. Something like below: File name = ip 8.8.8.8 8.8.4.4 Bash shell script: nslookup.sh #!/bin/bash for i in $1 do nslookup $i done I... (7 Replies)
Discussion started by: boldnbeautiful
7 Replies

3. UNIX for Dummies Questions & Answers

[Solved] How to calculate in sun bash

I have two problems, and it would be great if someone could help me: The first line does not calculate. I have checked the origin term to calculate the variables and the result is OK. Normal substactions with $xx -100 work, but not in this constallation. I tried it with "| bc" and no result... (2 Replies)
Discussion started by: Pieter0815
2 Replies

4. Shell Programming and Scripting

Calculate the number of days between 2 dates - bash script

I wrote the day calculator also in bash. I would like to now, that is it good so? #!/bin/bash datum1=`date -d "1991/1/1" "+%s"` datum2=`date "+%s"` diff=$(($datum2-$datum1)) days=$(($diff/(60*60*24))) echo $days Thanks in advance for your help! (3 Replies)
Discussion started by: kovacsakos
3 Replies

5. UNIX for Dummies Questions & Answers

Calculate the day after bash

Hello I would like to help me create a script that: Given a date, more precisely a year, one month and one day. must calculate the day after -Input: Year, Month, Day -Output: Next day the Year-Month-Day thanks (9 Replies)
Discussion started by: karkov
9 Replies

6. Shell Programming and Scripting

Xapture Plsql Error from Unix Shell cript

Hi Friends, Need your help . I have a shell script which executes the plsql procedure proc_p1. I want to capture the error message when the procuder throws some error message. I codeed in the following way . But it shows Job Success. Kindly anyone give some better idea to over come this ... (2 Replies)
Discussion started by: imipsita.rath
2 Replies

7. Shell Programming and Scripting

how to calculate netwrk from IP address and netmask using Bitwise AND in shell script

Hi, I am having two variables IP="10.150.12.1" netmask="255.255.255.0" To get network number, I know that a bitwise & will help. networkno=IP & netmask My code is #!/usr/bin/ksh ip="10.150.12.1" netmask="255.255.255.0" networkno="$ip" & "$netmask" echo $networkno I am... (7 Replies)
Discussion started by: chaitanyapn
7 Replies

8. UNIX for Dummies Questions & Answers

Project with somewhat simple bourne shell cript..

Right now if I have a file that has the following information (with : as the delimiter) name :address :phone number I need to be able to do the following commands: -n search for a name -p search for a phone number -l search for a last name starting with a particular -c find an... (17 Replies)
Discussion started by: Generic
17 Replies

9. Shell Programming and Scripting

sort and summarize

Hi Guys, I have a file in UNIX with duplicates, I have use sort command as below to delete duplicates based on the KEY positions/columns but now I do not want to "delete" duplicates but summarize by KEY numeric columns. REALLY NEED HELP... URGENT!!! Thanks in advance. sort -k 1.1,1.92... (6 Replies)
Discussion started by: shotronix
6 Replies

10. Shell Programming and Scripting

check if argument is an ip address in bash/sh

Hi all, Can you please suggest a few lines of if statement to check if a variable is an ip address purely in bash/sh? Thanks, Marc (3 Replies)
Discussion started by: marcpascual
3 Replies
Login or Register to Ask a Question