Onway

我是一只菜菜菜菜鸟...
posts - 61, comments - 56, trackbacks - 0, articles - 34

查询学校空闲教室的小脚本

Posted on 2012-03-09 18:52 Onway 阅读(485) 评论(1)  编辑 收藏 引用 所属分类: 码儿快跑
/Files/Onway/free-rooms.bash.txt

#!/bin/bash

# 查询学校空闲的教室
# 原理:空闲的教室 
= 整个学期开课的课室 - 查询时间开课的课室
# 如果服务器查询参数不变,一个学期只需更新一次
# good good study , day day up 
!
# Onway 
2012-03-09    aluohuai@126.com

roomline
=10
rooms
="黄浩川教学楼101 黄浩川教学楼102 黄浩川教学楼103 黄浩川教学楼104 黄浩川教学楼201 黄浩川教学楼202 黄浩川教学楼203 黄浩川教学楼204 黄浩川教学楼301 黄浩川教学楼302 黄浩川教学楼303 黄浩川教学楼304 黄浩川教学楼401 黄浩川教学楼402 黄浩川教学楼403 黄浩川教学楼404 黄浩川教学楼501 黄浩川教学楼502 黄浩川教学楼503 黄浩川教学楼504 黄浩川楼101 黄浩川楼102 黄浩川楼104 黄浩川楼105 黄浩川楼209 黄浩川楼303 黄浩川楼304 黄浩川楼305 黄浩川楼402 黄浩川楼403 黄浩川楼404 黄浩川楼405 继续教育学院101 继续教育学院103 继续教育学院201 继续教育学院203 继续教育学院205 继续教育学院206 继续教育学院301 继续教育学院303 继续教育学院306 继续教育学院403 继续教育学院405 继续教育学院407 继续教育学院505 黎耀华楼108 黎耀华楼212 黎耀华楼306 黎耀华楼313 黎耀华楼402 黎耀球楼301 陆佑图书馆301 陆佑图书馆302 马兰芳教学楼101 马兰芳教学楼102 马兰芳教学楼103 马兰芳教学楼104 马兰芳教学楼201 马兰芳教学楼202 马兰芳教学楼203 马兰芳教学楼204 马兰芳教学楼301 马兰芳教学楼302 马兰芳教学楼303 马兰芳教学楼304 马兰芳教学楼401 马兰芳教学楼402 马兰芳教学楼403 马兰芳教学楼404 马兰芳教学楼501 马兰芳教学楼502 马兰芳教学楼503 马兰芳教学楼504 体育馆101 体育馆102 体育馆103 体育馆104 体育馆105 体育馆106 体育馆107 体育馆108 体育馆109 体育馆110 体育馆111 体育馆131 体育馆132 体育馆133 体育馆135 体育馆136 体育馆137 体育馆138 体育馆139 体育馆140 新会楼404 主楼101 主楼201 主楼202 主楼212 主楼213 主楼239 主楼240 主楼249 主楼250 主楼356 主楼401 主楼402 主楼405 主楼406 主楼417 主楼418 主楼421 主楼422 主楼423 主楼427 主楼429 主楼439 主楼441 主楼445 主楼457 主楼458 主楼470 主楼473 主楼501 主楼505 主楼524 主楼525 主楼533 主楼539 主楼541 主楼543 主楼545 主楼549 主楼552 主楼554 主楼556 主楼559 主楼560 主楼562 主楼575 综合实验大楼103 综合实验大楼201 综合实验大楼202 综合实验大楼203 综合实验大楼204 综合实验大楼205 综合实验大楼206 综合实验大楼212 综合实验大楼213 综合实验大楼214 综合实验大楼302 综合实验大楼303 综合实验大楼305 综合实验大楼306 综合实验大楼307 综合实验大楼310 综合实验大楼402 综合实验大楼403 综合实验大楼404 综合实验大楼405 综合实验大楼406 综合实验大楼407 综合实验大楼416 综合实验大楼503 综合实验大楼605 综合实验楼605"
update() {
    wget 
-/tmp/query.asp http://jwc.wyu.cn/everyday/query/indeft/query.asp --post-data "cnt=1&wk=1&wk=2&wk=3&wk=4&wk=5&wk=0&cnt=2&pt=1&pt=2&pt=3&pt=4&pt=5&cc5=&cc6=&cc7=&cc8=&cc9=&Submit=+%CC%E1%BD%BB+"
    iconv -f gb18030 -t utf8 /tmp/query-gb18030.tmp > /tmp/query-utf8.tmp
    
new="rooms=\"$(grep '.*<td align=\"left\">.*' /tmp/query-utf8.tmp | sed -'0~4p' | grep -'>.*<' | tr -'><' | sort -ub | grep -'^$')\"" 
    
new=$(echo $new)
    rm 
/tmp/query-gb18030.tmp /tmp/query-utf8.tmp
    sed 
"${roomline}c $new" $0 > "/tmp/$0"
    chmod u
+"/tmp/$0"
    mv 
"/tmp/$0" $0
}

query() {
    arg
=""
    read 
-"星期(0-5,0为周末,空格分开):" day 
    
if [ -"$day" ] ; then
        arg
="cnt=1&"
        
for i in $day
        
do
            arg
=$arg"wk=$i&"
        done
    fi

    read 
-"节次(大节,0-5,空格分开):" class
    
if [ -"$class" ] ; then
        arg
=$arg"cnt=2&"
        
for i in $class
        
do
            arg
=$arg"pt=$i&"
        done
    fi

    read 
-"周次(1-19,空格分开):" week
    
if [ -"$week" ] ; then
        arg
=$arg"cnt=3&"
        
for i in $class
        
do
            arg
=$arg"ew=$i&"
        done
    fi

    
if [ -"$arg" ] ; then
        echo 
"what are you doing!"
        exit 
0
    fi

    arg
=$arg"cc5=&cc6=&cc7=&cc8=&cc9=&Submit=+%CC%E1%BD%BB+"

    wget 
-/tmp/query-gb18030.tmp http://jwc.wyu.cn/everyday/query/indeft/query.asp --post-data "$arg"
    iconv -f gb18030 -t utf8 /tmp/query-gb18030.tmp > /tmp/query-utf8.tmp
    used
="$(grep '.*<td align=\"left\">.*' /tmp/query-utf8.tmp | sed -n '0~4p' | grep -o '>.*<' | tr -d '><' | sort -ub | grep -v '^$')" 
    used
=$(echo $used)
    rm 
/tmp/query-gb18030.tmp /tmp/query-utf8.tmp

    
for i in $rooms
    
do
        sign
=0
        
for j in $used
        
do
            
if [ "$i" == "$j" ] ; then
                sign
=1
                
break
            fi
        done
        
if [ "$sign" == "0" ] ; then
            echo $i
        fi
    done
}

if [ $# == 0 ] ; then
    query
elif [ 
"$1" == "--update" ] ; then
    update
else
    echo 
-"Usage:\n\t$0 [--update]"
fi
exit 
0

Feedback

# re: 查询学校空闲教室的小脚本  回复  更多评论   

2012-03-09 23:58 by skyhacker
好变态!

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理