#!/bin/bash
#
# ip_netbits berechnet zu einer gegebenen Netzmaske die Anzahl der 1-Bits
#
if [[ $# -ne 1 ]]
 then
  echo "usage: $(basename $0) IP-Mask" >&2
  exit 1
else
  bits=0
  a[0]=0
  a[128]=1
  a[192]=2
  a[224]=3
  a[240]=4
  a[248]=5
  a[252]=6
  a[254]=7
  a[255]=8
  for i in `echo $1 | sed 's/\./ /g'`
   do
    if [[ -n "${a[$i]}" ]]
     then
      bits=$(( $bits + ${a[$i]} ))
    else
      echo "Error: Fehlerhafte Netzmaske" >&2
      exit 1
    fi
  done
  echo $bits
fi
