Juil 042013
 

Works on Bash only


cidr2dec() {
cidr=$1
totalmask= ; bits=

for ((i=$cidr; $i>0; i--)); do bits="${bits}1" ; done
for ((i=$((32 - $cidr)); $i>0; i--)); do bits="${bits}0" ; done

for i in 1 9 17 25; do
bitmask=$(echo $bits |cut -c${i}-$(($i + 7)))
totalmask=${totalmask}$(echo 'obase=10; ibase=2;' $bitmask |bc).
done

echo ${totalmask%%.}
}

 


$ for i in 16 24 26 27 32 ; do cidr2dec $i ; done
255.255.0.0
255.255.255.0
255.255.255.192
255.255.255.224
255.255.255.255

 Laisser un commentaire

Vous pouvez utiliser ces tags et attributs HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(requis)

(requis)

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.