Primeiro, prefira usar wget -i -
over xargs wget
, porque a maneira xargs
pode executar (seqüencialmente) vários comandos wget
(se você tiver muito URL para recuperar) enquanto o wget -i -
será executado somente um (e, portanto, se o servidor remoto suportar, use a mesma conexão TCP).
Escrever sua própria função rmEmpty
é inútil, pois find . -empty -type f -delete
fará o trabalho (melhor).
Para resumir:
BASE_URL="http://www.mtgsalvation.com/forums/creativity/artwork/340782-official-digital-rendering-thread?page=$i"
wget -q -O- "$BASE_URL" | \
sed -n '{/forum-post-body-content/,/p-comment-notes/p}' | \
grep -Po 'src="\K[^"]+' | wget -i - -q -T 6 -t 1
find . -maxdepth 1 -empty -type f -delete
Eu adicionei o -maxdepth 1
para evitar problemas se você executar esse script em um diretório com muitos subdiretórios ( $HOME
, por exemplo). Você deve executar esse script em um diretório dedicado (vazio antes de executar o script).