有人可以帮我写一个bash脚本,用以下格式改变ip地址
192.168.1.0/27
这种格式,在ip
旁边写掩码192.168.1.0 255.255.255.224
我需要该脚本并计算它,将27更改为224,如果斜线为24将写入255.255.255.0等...
答案 0 :(得分:0)
如果你有python 3.X(在我的情况下为3.4):
python3.4 -c "import ipaddress; print(ipaddress.ip_network('192.168.1.0/27').with_netmask)"
输出:
192.168.1.0/255.255.255.224
答案 1 :(得分:0)
也许这回答了这个问题:
IP="127.0.0.1/27"
REM=`echo "$IP" | sed 's/^.*\/\([0-9][0-9]\)/\1/'`
IP=`echo "$IP" | sed 's/\(^.*\)\/[0-9][0-9]/\1/'`
REM=`echo "$REM - 24" | bc`
MASKTAIL=0
while [[ "$REM" > 0 ]]
do
MASKTAIL=`echo "$MASKTAIL + 2^(8-$REM)" | bc`
REM=`echo "$REM - 1" | bc`
done
echo "$IP 255.255.255.$MASKTAIL"
有关前缀 - 掩码说明的信息,请参阅https://en.wikipedia.org/wiki/Subnetwork#Subnet_and_host_counts
Pd。:没有处理价值观< 24或> 31