wget
retorna um status de saída diferente de zero quando a URL não é encontrada, portanto, é possível anexar um comando de remoção na falha:
wget "url" -O file || rm -f file
Ou crie um arquivo temporário e mova-o somente para o local desejado:
wget "url" -O /tmp/wget && mv /tmp/wget file
O segundo tem o benefício de não excluir um arquivo existente em caso de falha, mas certifique-se de usar nomes temporários exclusivos (consulte man tempfile
) se estiver executando várias instâncias em paralelo.