में आईपी एड्रेस को 32 बिट पूर्णांक में कनवर्ट करें। मैं एक कठपुतली टेम्पलेट के लिए रूबी में 32 बिट पूर्णांक में आईपी एड्रेस को कन्वर्ट करने का तरीका खोजने का प्रयास कर रहा हूं।रूबी
इस प्रकार मैंने बैश में रूपांतरण किया।
[email protected]:~# cat test.sh
#!/bin/bash
#eth0 address is 10.0.2.15
privip=`ifconfig eth0 | grep "inet addr:" | cut -d : -f 2 | cut -d " " -f 1` ;
echo "Private IP: ${privip}" ;
# Turn it into unsigned 32-bit integer
ipiter=3 ;
for ipoctet in `echo ${privip} | tr . " "` ;
do
ipint=$((ipint + (ipoctet * 256 ** ipiter--))) ;
done ;
echo "Private IP int32: ${ipint}" ;
।
[email protected]:~# bash test.sh
Private IP: 10.0.2.15
Private IP int32: 167772687
किसी भी मदद की सराहना की जाएगी।