0 前言
这是一个可能以后永远也用不到,但是挺有意思的一个脚本。
1 ipv4 转 22 位网段
#!/bin/sh
ip_list_file="$1"
if [ -f "$ip_list_file" ] ; then
cat $1 | while read ip_str ; do
head=`echo $ip_str | awk -F. '{print $1 "." $2}'`
tail_3=`echo $ip_str | awk -F. '{print $3}'`
tail_4=`echo $ip_str | awk -F. '{print $4}'`
tail_raw=$(($tail_3<<8))
tail_raw=$(($tail_raw+$tail_4))
tail_raw=$(($tail_raw>>10))
tail_raw=$(($tail_raw<<2))
echo $head.$tail_raw"/22"
done
else
echo "usage: $0 ip_list_file"
fi
这是一个将IPv4地址转换为22位网段的Shell脚本。它读取包含IPv4地址的文件,通过awk命令提取头部和尾部信息,并进行位移操作,最终输出22位的网段表示。
1048

被折叠的 条评论
为什么被折叠?



