使用curl递归下载软件脚本分享_linuxshell教程-查字典教程网
使用curl递归下载软件脚本分享
使用curl递归下载软件脚本分享
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:#!/bin/envbashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/b...

复制代码 代码如下:

#!/bin/env bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

export PATH

clear

Url="http://mirrors.cnnic.cn/apache/"

DownListFile="/tmp/downlist.txt"

DownListTmpFile="/tmp/tmplist.txt"

DownFileType="zip$|gz$"

DownList=""

UrlBack="$Url"

[ ! -f $DownListFile ] && touch $DownListFile || echo > $DownListFile

[ ! -f $DownListTmpFile ] && touch $DownListTmpFile || echo > $DownListTmpFile

CURL_URLS(){

Urls=`curl $UrlBack |awk -F "a href="" '{printf "%sn",$2}'|awk -F """ '{printf "%sn",$1}'|grep -vE "^$|^?|^http://"|^#`

}

URL_LIST(){

CURL_URLS

for i in $Urls ;do

echo "$UrlBack$i" >> $DownListTmpFile

done

}

RECURSIVE_SEARCH_URL(){

UrlBackTmps=`cat $DownListTmpFile`

[[ "$UrlBackTmps" == "" ]] && echo "no more page for search" && exit 1

for j in $UrlBackTmps ;do

if [[ "${j##*/}" != "" ]] ;then

echo "$j" >> $DownListFile

else

UrlBack="$j"

URL_LIST

fi

UrlTmps=`grep -vE "$j$" $DownListTmpFile`

echo "$UrlTmps" > $DownListTmpFile

RECURSIVE_SEARCH_URL

done

}

DOWNLOAD_FILE(){

DownList=`grep -E "$DownFileType" $DownListFile`

for k in $DownList ;do

FilePath=/tmp/${k#*//}

[ ! -d `dirname $FilePath` ] && mkdir -p `dirname $FilePath`

[ ! -f $FilePath ] && cd `dirname $FilePath` && curl -O $k

done

}

URL_LIST $Urls

RECURSIVE_SEARCH_URL

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新linuxshell学习
    热门linuxshell学习
    脚本专栏子分类