查询ip地址的方式很多,linux里有一个geoip的工具,我通过homebrew安装过并不work(可能是网络的问题无法更新这个地址库),所以实现了一个通过ip138.com来查询的. 只在mac上测试过,mac自带的sed很不好用,我用的gnu-sed,可以通过homebrew安装:
#!/bin/sh
if [ $# -lt 1 ]; then
echo "input ip address" && exit -1;
fi
URL="http://ip138.com/ips138.asp?ip="$1
result=`curl -s $URL | iconv -f GBK -t UTF-8 | grep "td align=\"center\"" | awk 'NR==2||NR==3'`
echo $result | gsed 's/[<|>]/\n/g' | gsed '/ul\|li\|h1\|td/d' | awk NF
测试效果:
$ ip138 8.8.8.8
您查询的IP:8.8.8.8
本站主数据:美国 Google免费DNS
参考数据一:美国
网友提交的IP:美国 Google免费DNS