SHELL
#!/bin/sh #查询ip所在地 #查询访问地址,去除重复地址 cat /var/log/httpd/access_log | awk '{print $1}' | awk '!a[$0]++' >ip.txt #用法:cat ip.txt | ./ip.sh 或者 ./ip.sh 8.8.8.8 ips=$1 get=`curl -s http://wap.ip138.com/ip.asp?ip=$ips | iconv -f utf-8 -t gb2312 | sed 's/<[^<]*.[>$]/ /g;/^\s*$/d' | head -n 1` if [ $ips ]; then echo $get else while read ips do curl -s http://wap.ip138.com/ip.asp?ip=$ips | iconv -f utf-8 -t gb2312 | sed 's/<[^<]*.[>$]/ /g;/^\s*$/d' | head -n 1 done fi
BAT
@echo Off&Setlocal Enabledelayedexpansion for /f "delims=" %%i in (%*) do ( for /f "tokens=1,4 delims=<>" %%a in ('curl -s "http://wap.ip138.com/ip.asp?ip=%%i" ^| iconv -f utf-8 -t gb2312 ^| find "查询结果"') do ( echo %%a echo %%b ) ) for /f "tokens=1,4 delims=<>" %%a in ('curl -s "http://wap.ip138.com/ip.asp?ip=%1" ^| iconv -f utf-8 -t gb2312 ^| find "查询结果"') do ( echo %%a echo %%b )
#附件:curl.exe iconv.exe ↓