- 论坛徽章:
- 0
|
发shell版更合适
我也不大懂shell
不过给个我能用的你参考下
- #!/bin/sh
- FILE=/root/study/apnic/ip_apnic
- rm -f $FILE
- wget [url]http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest[/url] -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
- )
- # ..... FreeBSD ., EOF .... NL ,Linux ... NL ....
- echo $ip/$mask>;>; cn.net
- NETNAME=`whois $[email]ip@whois.apnic.net[/email] | sed -e '/./{H;$!d;}' -e 'x;/netnum/!d' |grep ^netname | sed -e 's/.*: \(.*\)/\1/g' | sed -e 's/-.*//g'`
- case $NETNAME in
- CHINANET|CNCGROUP)
- echo $ip/$mask >;>; $NETNAME
- ;;
- #..... CHINATELECOM = CHINANET
- CHINATELECOM)
- echo $ip/$mask >;>;CHINANET
- #....... ISP , .........,.. apnic whois , ....... NETNAME
- OTHER_NETNAME_here)
- ;;
- esac
- done
复制代码 |
|