- 论坛徽章:
- 0
|
脚本内容如下
#!/bin/sh
FILE=/tmp/ip_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
mask=$(cat << EOF | bc | tail -1
pow=32;
define log2(x) {
if (x<=1) return (pow);
pow--;
return(log2(x/2));
}
log2($cnt)
EOF
)
echo $ip/$mask >> cn.net
NETNAME=`whois $ip | sed -e '/./{H;$!d;}' -e 'x;/netnum/!d' |grep ^netname | sed -e 's/.*: \(.*\)/\1/g' | sed -e 's/-.*//g'`
case $NETNAME in
UNICOM)
echo $ip/$mask >> UNICOM
;;
CHINANET)
echo $ip/$mask >> CHINANET
;;
esac
done
系统是fedora14, 脚本最终只生成cn.net 一个文件, 是什么原因呢? case语句的问题么? 求指导 |
|