-
-
Save jrelo/3b6be2f7c1b474db529db8efb0862010 to your computer and use it in GitHub Desktop.
IP to Integer and Integer to IP conversions in bash.
This file contains hidden or 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