wget конвертировать tgz файл в HTML

Как видите, большинство ответов пытается оптимизировать то, что возможно: количество переключений контекста и межпроцессный ввод-вывод. Причина в том, что это единственное, что вы можете легко оптимизировать здесь.

Теперь проблема в том, что потребность в ресурсах почти незначительна по сравнению с потребностью в ресурсах для декомпрессии. Вот почему оптимизации ничего не сделают быстрее.

Там, где его действительно можно было бы ускорить, это был бы модифицированный алгоритм un-gzip (т. е. распаковки), который исключает фактическое создание потока распакованных данных; скорее он только вычисляет количество новых строк в распакованном потоке из сжатого. Это было бы сложно, потребовалось бы глубокое знание алгоритма gzip (некоторая комбинация алгоритмов сжатия LZW и Huffman). Вполне вероятно, что алгоритм не позволяет существенно оптимизировать время распаковки с лайтингом, нам нужно знать только счетчики новой строки. Даже если бы это было возможно, по сути, должна была быть разработана новая библиотека распаковки gzip (она не существует, пока не станет известно).

Реалистичный ответ на ваш вопрос: нет, вы не можете сделать это значительно быстрее.

Возможно, вы могли бы использовать какую-нибудь распараллеленную декомпрессию gzip, если она существует. Он может использовать несколько ядер ЦП для распаковки.Если бы его не существовало, его можно было бы относительно легко разработать.

Для xz существует параллельный компрессор (pxz).

0
14.04.2017, 12:17
1 ответ

http://www.netmet-solutions.org/download/netMETdistrib-4.5_5.8_20160322.tgz принудительно перенаправляется на http://www.netmet-solutions.org/Telechargement/ Telechargement (стандартная HTML-страница). Таким образом, вы загружаете не файл .tgz, а простую HTML-страницу. Вывод wget подтверждает перенаправление:

➤ wget http://www.netmet-solutions.org/download/netMETdistrib-4.5_5.8_20160322.tgz
--2017-04-14 11:14:43--  http://www.netmet-solutions.org/download/netMETdistrib-4.5_5.8_20160322.tgz
Resolving www.netmet-solutions.org... 193.50.27.134
Connecting to www.netmet-solutions.org|193.50.27.134|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: /Telechargement/Telechargement [following]
--2017-04-14 11:14:44--  http://www.netmet-solutions.org/Telechargement/Telechargement
Connecting to www.netmet-solutions.org|193.50.27.134|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `netMETdistrib-4.5_5.8_20160322.tgz'

РЕДАКТИРОВАТЬ: По сути, вы должны принять лицензию CeCILL, чтобы скачать архив (http://www.netmet-solutions.org/Telechargement/ Жакцеп). Чтобы сделать это через wget, вам нужно будет передать ожидаемый файл cookie в заголовке:

wget --no-cookies --header "Cookie: accepted_licence=chocolat" http://www.netmet-solutions.org/download/netMETdistrib-4.5_5.8_20160322.tgz

, где полученный файл будет распознан как данные, сжатые gzip:

➤ file netMETdistrib-4.5_5.8_20160322.tgz
netMETdistrib-4.5_5.8_20160322.tgz: gzip compressed data, last modified: Tue Mar 22 12:39:36 2016, from Unix
5
28.01.2020, 02:16

Теги

Похожие вопросы