一个批量下载3GPP文档的shell小程序
wget "https://www.3gpp.org/ftp/Specs/archive"
function get_url(){
echo `grep -E 'href="https://www.3gpp.org/ftp/Specs/archive/[0-9]' $1 | awk -F'"' '{print $2}'`
}
series=`get_url archive`
function get_path_last_name(){
echo `echo $1 | awk -F/ '{print $NF}'`
}
function donwload_sub_series(){
echo "=============download sub series $1=================="
wget $1
name=`get_path_last_name $1`
sub_series=`get_url $name`
cd $name
for j in $sub_series
do
donwload_zip $j
done
cd ..
}
function donwload_zip(){
wget $1
zip_name=`get_path_last_name $1`
zips=`get_url $zip_name`
rm $zip_name -rf
mkdir $zip_name
cd $zip_name
for z in $zips
do
wget $z
echo "==========================download zip $z========"
done
cd ..
}
function download_series(){
workdir=$PWD
for i in $series
do
dir_name=`get_path_last_name $i`
rm $dir_name -rf
mkdir $dir_name
cd $dir_name
donwload_sub_series $i &
echo "=========================================download $i================================================"
cd $workdir
done
}
download_series