Есть ли способ извлечь содержимое bzip2-архива в другой каталог без создания временных файлов?

498
Adrian

Я работаю с дампами Wikipedia XML и ищу способ извлечь их прямо на мой виртуальный диск. Это просто один XML-файл, сжатый с помощью bzip2.

Я старался

bzip2 -dk archive.bz2 /target/directory 

Но это приводит к тому, что содержимое извлекается в тот же каталог archive.bz2, который находится в нем. Я не удосужился подождать и посмотреть, будет ли содержимое перемещено впоследствии, поскольку это не то, что я ищу. Есть идеи?

0

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

0
Romeo Ninov

The samplest way I know is to do this:

cd /target/directory; bzip2 -d /path/to/achive/archive.bz2 
В моей системе это создает временный файл в каталоге архива, которого я хотел бы избежать, если это возможно. Adrian 9 лет назад 0
@Adrian, установите переменную TEMP где-нибудь, например, в целевой каталог и попробуйте снова. И учтите, что bzip2 использует хорошее количество памяти при высоком уровне сжатия Romeo Ninov 9 лет назад 0
Я попытался установить `TEMP = / mnt / ramdisk`, которая является моей целью, а затем запустить вашу команду оттуда, но я все еще получаю временный файл внутри директории с исходным кодом. Что мне не хватает? Adrian 9 лет назад 0
@Adrian, этот файл на самом деле является несжатым архивом, и вы не можете избежать этого. У меня лично нет информации, как вы можете создать что-то еще. Но вы всегда можете переместить сам архив Romeo Ninov 9 лет назад 0
Понимаю. Я надеялся, что есть способ на лету направить извлеченные данные в целевой каталог в виде потока данных. Я посмотрю, смогу ли я найти другое решение. Спасибо за помощь, хотя! Adrian 9 лет назад 0

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