Расширенное использование Wget

Расширенное использование Wget

У меня есть список из примерно 200 серверов, которые содержат ссылки на отдельные файлы, для этого вопроса давайте просто представим, что это файлы .txt. Мне нужно скачать каждый файл, однако на некоторых серверах есть только сжатая версия, а не оригинал, а на некоторых серверах есть и то, и другое, сжатие используется bzip2.

Это означает, что на сервере могут быть следующие файлы:

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

Я указал wget загружать только файлы .txt и .txt.bz2 и использую no-clobber, чтобы предотвратить загрузку одного и того же файла с каждого сервера. Однако после загрузки сжатого файла он распаковывается; оригинал сохраняется, а файлы bz2 — нет. Это означает, что wget загружает одни и те же файлы bz2 с каждого сервера, поскольку локально у него нет сжатой версии.

Как мне сказать wgetнетзагружать файлы .bz2, если у них уже есть распакованная версия (например, не загружать foo.txt.bz2, если foo.txt уже существует).

Спасибо

решение1

Я бы сцепил wgetкоманды следующим образом:

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

Команда bzip -dраспакует архив, но только в случае успешного выполнения wget.

Связанный контент