Created
October 19, 2011 22:42
-
-
Save jjarmoc/1299906 to your computer and use it in GitHub Desktop.
IP to Integer and Integer to IP conversions in bash.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Handy functions for .bashrc loading. | |
# | |
# $ atoi 192.168.1.1 | |
# 3232235777 | |
# $ itoa 3232235777 | |
# 192.168.1.1 | |
function atoi | |
{ | |
#Returns the integer representation of an IP arg, passed in ascii dotted-decimal notation (x.x.x.x) | |
IP=$1; IPNUM=0 | |
for (( i=0 ; i<4 ; ++i )); do | |
((IPNUM+=${IP%%.*}*$((256**$((3-${i})))))) | |
IP=${IP#*.} | |
done | |
echo $IPNUM | |
} | |
function itoa | |
{ | |
#returns the dotted-decimal ascii form of an IP arg passed in integer format | |
echo -n $(($(($(($((${1}/256))/256))/256))%256)). | |
echo -n $(($(($((${1}/256))/256))%256)). | |
echo -n $(($((${1}/256))%256)). | |
echo $((${1}%256)) | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment