Wednesday, October 10, 2007

After much searching I was unable to find a bash equivalent of inet_aton so I wrote one:

ip=10.3.2.25
ipint=0

for i in 1 2 3 4
do
octet=$(echo $ip |cut -d. -f$i)
let "ipint <<= 8"
let "ipint += $octet"
done

echo $ipint

It's probably not perfect, but it works.

Edit: Slightly improved version:

ip=10.3.2.25
ipint=0

for i in 1 2 3 4
do
octet=$(echo $ip |cut -d. -f$i)
let "ipint = (ipint << 8) + $octet"
done

echo $ipint

Michelle Trusty

No comments: