Bash, 短时间等待,重复执行某个命令

wget:有时候下载,只是前1分钟有数据传输,之后便是无响应。为了利用这个突发传输,增加请求的频率,可以编写脚本,也可以使用wget -T 20 -c url,20秒等待,缺省是900秒。

脚本如下,虽然可以用wget的T参数替代,但方法可以借鉴。

for i in {1..4};do
  echo $i
  wget -c url &
  sleep 60
  j=$(ps -a | grep -ir wget )    #返回wget的PID
  if [ "$j" != "" ] ;then
     set $j        #提取PID
     kill $1       #定时关闭wget
  else
     echo "No wget running"     
  fi 
done

 

下载某个网页中300多链接文件

IFS="
"         
for i in $(grep -ir  "/.asc"  htmlsourcefile ) ; do  #以换行符断句,获得包含下载文件的语句,
  echo $i
  j=${i##*href=/"}                                        #获得路径
 
  n=http://www.url.com${j%%/"*}       #加前缀
  o=${n##*/}                                 #获得链接文件名,该名与实际文件名可能不同
  echo n $n
  echo o $o
  k=${i##*/"/>}                    #提取实际文件名
  l=${k%%/<*}                   #提取实际文件名
 
  echo l $l
  wget -T 20 $n
  mv $o $l   #将链接文件名改为实际文件名
done

 

 

这是htmlsourcefile片段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值