Como abortar o wget depois de obter o arquivo N vezes não encontrado?

1

Eu tento pegar fotos de algumas galerias de algum site. Eu não sei quantos arquivos existem, mas sei que os arquivos são nomeados continuamente. Então eu uso um regex assim:

wget http://example.org/some_path_to_gallery_x/DSC{0001..9999}.jpg

Ainda é possível que alguns arquivos estejam faltando, mas se houver mais de 10 ou N arquivos ausentes em fila, a galeria obviamente chegará ao fim. Como abortar wget nesse momento para evitar tráfego desnecessário e tempo de execução para que eu possa alternar para outro caminho de galeria?

Até agora, tenho apenas um loop for, um contador e wget código de saída em mente. Mas estou fraco em BASH por isso. Ou pode haver algumas chaves mágicas wget para isso?

UPD: um script BASH para isso.

    #!/bin/bash

    G_PATH=$1
    MAX_MISSING=10
    C_ABORT=$MAX_MISSING

    for i in {0001..9999}
      do
      wget 'http://example.org/'"${G_PATH}"/DSC${i}.jpg 2>/dev/null
      if [ $? -eq 0 ]
      then
        C_ABORT=$MAX_MISSING
      else
        C_ABORT=$((C_ABORT-1))
        if [ $C_ABORT -eq 0 ]
        then
          echo break at DSC$i.jpg
          break
        else
          echo DSC$i.jpg is missing
        fi
      fi
    done
    
por Daria 30.09.2014 / 05:56

0 respostas

Tags