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 wget
comandos de esta manera:
wget http://example.com foo.txt || wget http://example.com/foo.txt.bz2 && bzip -d foo.txt.bz2
El bzip -d
comando descomprimirá el archivo, pero sólo si el wget tiene éxito.