在Linux/Unix上实现 windows 回收站功能的脚本V1.3!

此脚本用于批量下载http://www.zhuoku.com/上的壁纸
第一次发贴,有点紧张。
总是下载壁纸,而且总听高手说shell脚本解决问题可以一步到位,本人很向往。
于是花时间写了一个脚本。希望大家喜欢。

脚本运行后需要输入网址,举个例子:
http://www.zhuoku.com/zhuomianbizhi/jin ... 9.htm#turn
大家应该会举一反三吧。

以下是脚本内容:

#此脚本用于批量下载http://www.zhuoku.com/上的壁纸
read w
wget -O a.htm $w

iconv -f gb18030 -t utf-8 a.htm > b.htm
a=`grep '(壁纸1)开始' b.htm`
name=`echo $a | sed 's/<!--//' | sed 's/(壁纸1)开始-->\(.*\)$//' | sed 's/ /_/g' | sed 's/\//-/g'`
mkdir $name

a=`grep '<div id="turn">' a.htm`
num=`echo $a | cut -d'(' -f3`
num=`echo ${num%%)*}`
#得到图片的数量

a=`grep 'pic="http://' a.htm`
url=`echo $a | sed 's/"//g' | sed 's/pic=//' | sed 's/.com\/\//.com\//' | sed 's/thumbs\/tn_//'`
#得到图片的地址

cd $name

if [ $num -lt 10 ]; then
for i in {1..9}
do
url=`echo $url | sed "s/[0-9].jpg/$i.jpg/" | sed 's/.jpg\(.*\)$/.jpg/'`
#wget -c "$url"
axel $url
if [ $i -ge $num ]; then
break
fi
done
elif [ $num -lt 100 ]; then
for i in {01..99}
do
url=`echo $url | sed "s/[0-9][0-9].jpg/$i.jpg/" | sed 's/.jpg\(.*\)$/.jpg/'`
#wget -c "$url"
axel $url
if [ $i -ge $num ]; then
break
fi
done
else
for i in {001..999}
do
url=`echo $url | sed "s/[0-9][0-9][0-9].jpg/$i.jpg/" | sed 's/.jpg\(.*\)$/.jpg/'`
#wget -c "$url"
axel $url
if [ $i -ge $num ]; then
break
fi
done
fi

rm ../a.htm ../b.htm
附件:
getPic.sh.gz [535 Bytes]
被下载 1 次


最后由 qi1123581321 编辑于 2011-06-14 19:21,总共编辑了 6 次

作者: qi1123581321   发布时间: 2011-06-14

这个给力!

作者: 枫叶饭团   发布时间: 2011-06-14

lz一个帖子改了六遍……

作者: 月下叹逍遥   发布时间: 2011-06-14

月下叹逍遥 写道:
lz一个帖子改了六遍……

这叫那个什么  xx求精

作者: 枫叶饭团   发布时间: 2011-06-14