Uso avançado do Wget

Uso avançado do Wget

Eu tenho uma lista de cerca de 200 servidores que contêm links para arquivos individuais. Para esta pergunta, vamos fingir que são arquivos .txt. Preciso baixar todos os arquivos, porém alguns servidores possuem apenas a versão compactada, e não a original e alguns servidores possuem ambas, a compactação utilizada é bzip2.

Isso significa que um servidor pode ter os seguintes arquivos;

foo.txt.bz2
bar.txt
bar.txt.bz2

Eu disse ao wget para baixar apenas arquivos .txt e .txt.bz2 e estou usando no-clobber para evitar que o mesmo arquivo seja baixado de cada servidor. No entanto, depois que um arquivo compactado é baixado, ele é descompactado; o original é mantido, os arquivos bz2 não. Isso significa que o wget está baixando os mesmos arquivos bz2 de todos os servidores porque não possui uma versão compactada localmente.

Como posso dizer ao wget paranãobaixe arquivos .bz2 quando já tiver a versão descompactada (por exemplo, não baixe foo.txt.bz2 se foo.txt já existir).

Obrigado

Responder1

Eu encadearia os wgetcomandos desta forma:

wget http://example.com foo.txt || wget http://example.com/foo.txt.bz2 && bzip -d foo.txt.bz2

O bzip -dcomando irá descompactar o arquivo, mas somente se o wget for bem-sucedido.

informação relacionada