Uso avanzado de Wget

Uso avanzado de Wget

Tengo una lista de alrededor de 200 servidores que contienen enlaces a archivos individuales. Para esta pregunta, supongamos que son archivos .txt. Necesito descargar todos los archivos, sin embargo, algunos servidores solo tienen la versión comprimida y no la original y algunos servidores tienen ambas, la compresión utilizada es bzip2.

Eso significa que un servidor podría tener los siguientes archivos;

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

Le dije a wget que solo descargue archivos .txt y .txt.bz2 y estoy usando no-clobber para evitar que se descargue el mismo archivo desde cada servidor. Sin embargo, una vez que se descarga un archivo comprimido, se descomprime; el original se conserva, los archivos bz2 no. Esto significa que wget descarga los mismos archivos bz2 de cada servidor porque no tiene una versión comprimida localmente.

¿Cómo le digo a wget quenodescargue archivos .bz2 cuando ya tenga la versión descomprimida (por ejemplo, no descargue foo.txt.bz2 si foo.txt ya existe).

Gracias

Respuesta1

Yo encadenaría los wgetcomandos de esta manera:

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

El bzip -dcomando descomprimirá el archivo, pero sólo si el wget tiene éxito.

información relacionada