Linux使用sz深度遍历目录并且实现一级子目录断点续传下载相应格式的文件
#!/bin/bash
export dir='/root/test'
export file='/root/script/strList.txt'
function innerLoop(){
for i in `ls -d1 $1/* | sed 's/\ /\?/g'`
do
if [ -d "$i" ]
then
echo "$i"' 是目录'
innerLoop "$i"
elif [[ "$i" =~ .*txt ]]
then
echo '开始下载 '"$i"
sz "$i"
fi
done
}
function readTxt(){
while true
do
export str=`head -1 $file`
if [[ ! -s "$file" ]]
then
break
elif [[ -f "$str" && "$str" =~ .*txt ]]
then
echo '下载当前目录文件 '"$str"
sz "$str"
sed -i '1d' "$file"
continue
elif [[ -d "$str" ]]
then
echo '进入目录 '"$str"
innerLoop "$str"
sed -i '1d' "$file"
continue
else
sed -i '1d' "$file"
fi
done
}
function main(){
if [ -s /root/script/strList.txt ]
then readTxt
else
ls -d1 "$dir"/* > "$file"
readTxt
fi
}
main