專門為喜歡下載電影的人寫的script
專門為喜歡下載電影的人寫的script, 喜歡的話給點鼓勵
該指令碼主要是針對不能list的ftp站點 執行指令碼後面必須跟個檔案名參數, 輸入文件總共3或4行,給個例子 ftp://xxx.xxx.com/dvdrip/xxx/cd1/aaa.aaa.r temp/cd1 47,[5] [15000000] []表示是可選項. 第一行給出url路徑, 如果是*.rar, *.r0,*.r01格式的給到 *.r就可以了 如果是*.part01.rar格式的, 給到*.part就可以了 第二行是存放的本機路徑, 如果以/開頭表示絕對路徑,否則表示相對於home的路徑 第三行表示多少個包, 第二個參數從第幾包開始下載 第四行表示每個包的size, 預設是15000000 另外該script還做了部分url encoding 的工作,主要是過濾掉@,#,space等特殊字串。 我用該指令碼下了大量的電影, 用的程序中不斷修改,很有實用性。 -------------------------------------------------------------------- FLEN=15000000 if [ -z $1 ]; then echo "Usage:`basename $0` filename" exit 0 fi if [ ! -f $1 ]; then echo "the file $1 does not exist" exit 0 fi Url=`sed --quiet -e '1p' $1` Url2=`echo $Url | sed -e 's/ftp:\/\/[^@/]*@//'` Url1=`echo $Url | awk -F"$Url2" {'print $1'}` Url2=`echo $Url2 | sed -e 's/ /%20/;s/#/%23/;s/@/%40/'` Url=$Url1$Url2 echo $Url 太太S=`sed --quiet -e '2p' $1` temp=`sed --quiet -e '3p' $1` Max=`echo $temp | awk -F, {'print $1'}` Max=`echo $Max | sed --quiet -e 's/^ *//; s/ *$//;p'` starti=`echo $temp | awk -F, {'print $2'}` starti=`echo $starti | sed --quiet -e 's/^ *//; s/ *$//;p'` lll=`sed --quiet -e '4p' $1` if [ ! -z $lll ] ; then FLEN=$lll fi prefix_l=` echo $太太S | awk '{ print substr($0,1,1) }'` if [ $prefix_l != "/" ] ; then 太太S=$HOME"/"$太太S fi dl() { count=`echo $Url | grep -n ".part" | cut -f1 -d:` if [ -z $count ] ; then count=0 fi if [ $count -ge 1 ]; then i=1 else i=0 fi if [ ! -z $starti ]; then i=$starti fi while [ $i -le $Max ] do if [ $i -lt 10 ] ; then downurl=$Url"0"$i else downurl=$Url$i fi if [ $count -gt 0 ] ; then downurl=$downurl".rar" fi echo $downurl fname=`basename $downurl` fname=$太太S"/"$fname if [ -f $fname ] ; then len=`ls -l $fname | awk {'print $5'}` if [ $len -lt $FLEN ] ; then wget -c -P $太太S $downurl fi else wget -c -P $太太S $downurl fi i=`expr $i + 1` done if [ $count -eq 0 ] ; then downurl=$Url"ar" wget -c -P $太太S $downurl fi } dl echo "job is done" |
所有時間均為台北時間。現在的時間是 10:35 AM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *