当前位置: > shell编程 >

用于查询ip所在地的shell脚本

时间:2014-09-24 13:22来源:linux.it.net.cn 作者:it

1,查看ip所在地的shell脚本
 

复制代码代码示例:
#!/bin/bash
read -p "请输入要查询的IP地址:" ip
wget -q http://www.ip138.com/ips.asp?ip=$ip&action=2
sleep 1
echo "$ip 的地理位置是:`cat ips.asp\?ip\=$ip|grep "<li>"|awk -F '<li>' '{print $2,$3,$4}'|awk -F '</li>' '{print $1,$2,$3}'`"
rm -f ips.asp\?ip\=$ip

2,抓取页面信息,通过ip168查询IP归属地的shell脚本
 

复制代码代码示例:
#!/bin/bash
while read line
do
echo $line
ip=$(echo -en $line | awk '{print $3}' | awk -F"/" '{print $1}')
echo $ip
add=$(wget -q http://www.ip168.com/ip/?ip=${ip} -O - | grep "本站主数据" | sed  's/^[ \t]*//' | awk -F"</div>" '{print $1}' | sed 's/<div>本站主数据
://')
echo $add
echo -en $line | sed "/${ip}/s/\(.*\)/\1 $add\n/" >> ip_addr.txt
done < ip.txt

如果从ip138取,需要用下面的替换掉上面的add部分:
 

复制代码代码示例:
add=$(wget -q "http://www.ip138.com/ips.asp?ip=210.51.61.195&action=2" -O -| iconv -f gbk -t utf-8 | grep "数据" | awk -F"ul" '{print $3}' | awk
-F"</li>" '{print $1$2}' | awk -F"<li>" '{print $2"\n"$3}' | head -1)
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容