Notes:
- 多关键字支持,但某一个关键字不能由中文与非中文字混合构成。
- 学校 ftp 搜索页面为 gbk,先用 iconv 转成 utf-8。
- URL 中字编码问题由 od 和 awk 组合处理了,就是十六进制的再排序。
代码: 全选
#!/bin/bash
#
# Function: Search from http://ftp.nuaa.edu.cn
# Author: aBiNg <[email protected]>
# Date: 2008.11.06
# NOTES:
# + ARGUMENTS can't include strings concatenated by Chinese characters and "[0-9A-Za-z]+".
[ $# -eq 0 ] && exit
for((i=1;i<=$#;i++))
do
eval VAR='$'$i
if expr "$VAR" : "[0-9A-Za-z.-_]\+" &> /dev/null
then
ARRAY[$i]="$VAR"
else
SECT=$((2*${#VAR}))
ARRAY[$i]=`echo "$VAR" | iconv -f utf-8 -t gbk | od -t x | tr '\n' ' ' | \
awk '\
{
$1=""
gsub(/[ ]+/,"",$0)
for(j=1;j<='$SECT';j++){
if(j%4==1){
k=2*j+5
}
printf("%%%s",substr($0,k,2))
k-=2
}
}'`
fi
done
DECODED=`echo ${ARRAY[@]} | tr ' ' '+'`
URL="http://ftp.nuaa.edu.cn/cgi-bin/parker/search?String=${DECODED}&t=0&r=all&s=ftp"
TMPDIR="/tmp/nuaa"
TMPFILE=${TMPDIR}/${DECODED}.html
[ ! -d $TMPDIR ] && mkdir -p $TMPDIR
wget -q -O $TMPFILE $URL &> /dev/null
if file $TMPFILE | grep HTML &> /dev/null
then
iconv -f gbk -t utf-8 $TMPFILE | \
sed '/^ <[^>]*>\/.*/d' | \
sed -ne '/.*HREF="ftp:\/\//s!.*@\([^>]*\)">[<>b]*\([^<]*\)<.*!\2\n\1\n!p' | \
more
fi
1、
代码: 全选
$ nuaa_ftp 李尔王
2、ftp3.nuaa.edu.cn
202.119.65.3/
(2008)李尔王-jiajia/
202.119.65.3/--Upload/(2008)李尔王-jiajia/
[李尔王].King.Lear.2008.TV.DVDRip.XviD-HAGGiS.cd1.avi
202.119.65.3/--Upload/(2008)李尔王-jiajia/[李尔王].King.Lear.2008.TV.DVDRip.XviD-HAGGiS.cd1.avi
[李尔王].King.Lear.2008.TV.DVDRip.XviD-HAGGiS.cd1.cn.srt
202.119.65.3/--Upload/(2008)李尔王-jiajia/[李尔王].King.Lear.2008.TV.DVDRip.XviD-HAGGiS.cd1.cn.srt
[李尔王].King.Lear.2008.TV.DVDRip.XviD-HAGGiS.cd1.en.srt
202.119.65.3/--Upload/(2008)李尔王-jiajia/[李尔王].King.Lear.2008.TV.DVDRip.XviD-HAGGiS.cd1.en.srt
[李尔王].King.Lear.2008.TV.DVDRip.XviD-HAGGiS.cd2.avi
202.119.65.3/--Upload/(2008)李尔王-jiajia/[李尔王].King.Lear.2008.TV.DVDRip.XviD-HAGGiS.cd2.avi
[李尔王].King.Lear.2008.TV.DVDRip.XviD-HAGGiS.cd2.cn.srt
202.119.65.3/--Upload/(2008)李尔王-jiajia/[李尔王].King.Lear.2008.TV.DVDRip.XviD-HAGGiS.cd2.cn.srt
[李尔王].King.Lear.2008.TV.DVDRip.XviD-HAGGiS.cd2.en.srt
202.119.65.3/--Upload/(2008)李尔王-jiajia/[李尔王].King.Lear.2008.TV.DVDRip.XviD-HAGGiS.cd2.en.srt
代码: 全选
$ nuaa_ftp wall.E rmvb
ftp2.nuaa.edu.cn
202.119.65.4/
影视帝国(bbs.cnxp.com).机器人总动员(听译).Wall.E.2008.DVDSCR.rmvb
202.119.65.4/---电影专区/++13%20动画片/(2008)机器人总动员(WALL·E)%20(皮克斯&迪尼)%20-美国动画/影视帝国bbs.cnxp.com).机器人总动员(听译).Wall.E.2008.DVDSCR.rmvb