Распаковка этих файлов .gz дает странные / неожиданные результаты. Можете ли вы заставить его работать?

1084
Nick Josevski

У меня есть коллекция архивных файлов списков рассылки, все gzip'd, они находятся во вложенной структуре каталогов, которая начинается с того, что кажется пустым именем папки / жаргона .

Файлы находятся здесь: http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/

Похоже, что это выглядит в заголовке каждого файла:

‹vÑKÿ/var/lib/mailman/archives/private/rabbitmq-discuss/ 

Я пытался использовать 7Zip, WinRAR и gzip на Windows 7 через командную строку.

Также gzip на OS X, с теми же результатами, я что-то упускаю очевидное? Мне не удалось перестроить структуру каталогов, в результате получается слияние структуры каталогов и файла.

Если у вас все получится, вы можете дать мне знать, что:

  • Операционная система, которую вы использовали
  • Инструмент сжатия / декомпрессии
  • Аргументы командной строки или метод автоматизации

Я хочу сделать это за один раз, или автоматически, без необходимости вводить каждый файл через приложение с графическим интерфейсом.

5
ПРИМЕЧАНИЕ. Если вы натолкнулись на этот вопрос, пытаясь что-то решить в RabbitMQ, попробуйте выполнить поиск в реальном времени по списку рассылки с помощью поиска на основе сайтов Google, пример запроса: http://www.google.com/search?q=site%3Alists. rabbitmq.com +% 22basic.get% 22 +% 22basic.consume% 22 + RabbitMQ & btnG = Поиск и мета = & водн = F & OQ = Nick Josevski 13 лет назад 0

1 ответ на вопрос

6
Stephen Jennings

The file is gzipped twice. Try these commands on Mac OS X or Linux:

wget http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2011-May.txt.gz gzip -d 2011-May.txt.gz 

You should end up with the file 2011-May.txt which is plain text. On my system, wget is properly saving a singly-gzipped file which decompresses to plain text.

If you have the double-gzipped file already, you can run this command:

gzip -cd 2011-May.txt.gz | gzip -cd > 2011-May.txt 

This will decompress the file twice and write it. Alternatively, on Windows 7, you should be able to use 7zip to decompress the gzipped file, then open it again with 7zip and decompress it again. You should be left with the uncompressed file.

If you have a large number of files like this in one directory, you could do something like this:

for file in *.gz; do mv $file $file.gz; done; gunzip *.gz gunzip *.gz 

This will rename all files that end in *.gz to *.gz.gz, then run gunzip on them twice.

Круто, спасибо Стивену, у меня было подозрение, что это что-то подобное, но я не знал об этом, передача gzip в gzip работала нормально. Nick Josevski 13 лет назад 1
Нет проблем. Ваш вопрос, наконец, научил меня, как работает командная строка gzip, поэтому я тоже научился. Stephen Jennings 13 лет назад 0
Хорошая работа и с пакетным подходом, я просто все равно перенаправил весь вывод gzip в 1 файл, что станет моим следующим шагом со всеми отдельными файлами. Nick Josevski 13 лет назад 0