- 论坛徽章:
- 0
|
运行以下脚本出错,错误如下:
wget is /usr/bin/wget
--15:36:05-- http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest
=> `delegated-apnic-latest'
Resolving ftp.apnic.net... 202.12.29.20
Connecting to ftp.apnic.net|202.12.29.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 844,736 (825K) [text/plain]
100%[===================================================================>] 844,736 186.97K/s ETA 00:00
15:36:11 (152.44 KB/s) - `delegated-apnic-latest' saved [844736/844736]
./bb: line 40: syntax error near unexpected token `done'
./bb: line 40: `done'
脚本如下:
#!/bin/sh
#auto get the IP Table
#get the newest delegated-apnic-latest
rm delegated-apnic-latest
if type wget
then wget http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest
else fetch http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest
fi
grep 'apnic|CN|ipv4' delegated-apnic-latest | cut -f 4,5 -d '|' | tr '|' ' ' | while read ip cnt
do
mask=$(bc <<END | tail -1
pow=32;
define log2(x) {
if (x<=1) return (pow);
pow--;
return(log2(x/2));
}
log2($cnt);
END
)
echo $ip/$mask';'>>cnnet
resultext=`whois $ip@whois.apnic.net | grep -e ^netname -e ^descr -e ^role -e ^mnt-by | cut -f 2 -d ':' | sed 's/ *//'`
if echo $resultext | grep -i -e 'railcom' -e 'crtc' -e 'railway'
then echo $ip/$mask';' >> crc
elif echo $resultext | grep -i -e 'cncgroup' -e 'netcom'
then echo $ip/$mask';' >> cnc
if echo $resultext | grep -i -e 'chinanet' -e 'chinatel'
then echo $ip/$mask';' >> telcom_acl
elif echo $resultext | grep -i -e 'unicom'
then echo $ip/$mask';' >> unicom
elif echo $resultext | grep -i -e 'cmnet'
then echo $ip/$mask';' >> cmnet
else
echo $ip/$mask';' >> other_acl
fi
done |
|