网上有脚本,但是运行不了,不知道为什么.shell不是一个版本吗?不解,我改了一下,现在能用了
#!/bin/sh
pow=32
function log2() {
local i=$1
if [ $i -le 1 ];then
return $pow
fi
pow=`expr $pow – 1`;
log2 `expr $i / 2`
}
FILE=./apnic
rm -f $FILE
wget http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest -O $FILE
grep ‘apnic|CN|ipv4|’ $FILE | cut -f 4,5 -d’|’|sed -e ‘s/|/ /g’ | while read ip cnt
do
echo $ip:$cnt
log2 $cnt
mask=$pow
echo $mask
pow=32
echo $ip/$mask>> cn.net
NETNAME=`whois $ip@whois.apnic.net | sed -e ‘/./{H;$!d;}’ -e ‘x;/netnum/!d’ |grep ^netname | sed -e ‘s/.*: (.*)/1/g’ | sed -e ‘s/-.*//g’`
case $NETNAME in
CNC)
echo $ip/$mask >> SSJ_CNCGROUP
;;
UNICOM)
echo $ip/$mask >> SSJ_CNCGROUP
;;
CHINANET)
echo $ip/$mask >> SSJ_CHINANET
;;
CNCGROUP)
echo $ip/$mask >> SSJ_CNCGROUP
;;
CHINATELECOM)
echo $ip/$mask >> SSJ_CHINANET
;;
*)
echo $ip/$mask >> SSJ_OTHER
;;
esac
done