如何在X下载之间设置等待时间?

时间:2017-06-15 23:45:28

标签: bash time wget

我有一个links.txt,其中有1000个链接(每行链接)。

我的命令是:

wget -i links.txt -O linkoutfiles

所以我想在每次200次链接下载之间等待时间。

eEx:每200个链接5秒

我不需要命令:' - w'因为此命令使链接等待每个链接。

1 个答案:

答案 0 :(得分:0)

据我所知,wget没有选项可以在多次下载后暂停,但您可以轻松编写脚本:

#!/usr/bin/env bash

counter=0
for link in $(cat links.txt); do
    wget $link -O - >> linkoutfiles
    let counter++
    if ! ((counter % 200)); then
        sleep 5
    fi
done

不确定你想要linkoutfiles到底是什么,但上面应该模仿wget做什么,但每次下载200次后暂停5秒。

更新 - 如果您坚持,可以直接从终端提示中运行它:

counter=0; for link in $(cat links.txt); do wget $link -O - >> linkoutfiles ; let counter++ ; if ! ((counter % 200)); then sleep 5 ; fi ; done

将它作为单独的shell脚本更方便,更易于管理。这与PHP或任何类型的东西无关,几乎可以在任何bash控制台中使用(甚至在大多数普通的sh df %>% gather(Variable, Value, V1:V3) %>% group_by(V4, Variable) %>% mutate(g = row_number()) %>% spread(V4, Value) %>% ungroup() %>% select(-g) # # A tibble: 6 x 3 # Variable Sales Technical # * <chr> <chr> <chr> # 1 V1 A G # 2 V1 D J # 3 V2 B H # 4 V2 E K # 5 V3 C I # 6 V3 F L 版本中都可以使用。