Bash: Mask Converter
Mostra o número de bits de uma máscara IP. Exemplo: 255.255.255.192 -> 26
#!/bin/bash
total_bits=0
for octet in `echo $1|awk -F. ' {print $1 " " $2 " " $3 " " $4}'`
do
result=0
mask=255
num_bits=8
while [ $mask -ge 0 ]
do
if [ $octet -eq $mask ]
then
break
fi
result=$(( $mask << 1 ))
mask=$(( $result & 255 ))
let num_bits=num_bits-1
done
let total_bits=total_bits+$num_bits
done
echo "$total_bits"
Deixe seu comentário