bunzip2 para um diretório diferente

7

Digamos que eu tenha um arquivo foo.tbz2 em um diretório. Eu quero extrair o arquivo tar do arquivo, mas para um diretório diferente. Parece que bunzip2 extrairá o arquivo para o mesmo diretório do arquivo. Estou faltando alguma coisa?

Isso funciona, mas estou me perguntando se existe uma maneira melhor:

cd /another/directory
bunzip2 -k -c /original/directory/foo.tbz2
    
por longneck 15.08.2012 / 22:11

3 respostas

14

Você pode usar as outras ferramentas do bzip2:

bzcat foo.tbz2 > /another/directory/foo.tar

bzip2 -ckd foo.tbz2 > /another/directory/foo.tar

Note que se você quiser descompactá-lo para outro diretório, você pode usar a opção -C para tar :

tar xjf foo.tbz2 -C /another/directory
    
por 15.08.2012 / 22:23
0

Sugiro: Se você tiver um *bz2 file se *.tar.bz2 ou *.bz2 não usar bunzip , use tar command , porque o comando tar tem muitos recursos que podem ajudar você.

tar -jxf *.tar.bz2 -C yourplace/
or 
tar -jf *.bz2 -C yourplace/
    
por 16.08.2012 / 16:31
0

Versão de scripts anteriores (sem gravação em disco duplo - mantenha o arquivo descompactado na memória - no caso de arquivos grandes e discos lentos, faz grande diferença na velocidade):

#!/bin/sh

maxsize=2G
mkdir tmpfs 2>/dev/null
mount -t tmpfs -o size=${maxsize} tmpfs tmpfs

for i in $(ls -rS *.gz | sed 's/\.gz//');
do
     nice -n 19 gunzip -c ${i}.gz > tmpfs/${i}
     nice -n 19 bzip2 -c tmpfs/${i} > ${i}.bz2
     rm -f tmpfs/${i}
     if test -s "${i}.bz2"
     then
            rm -f "${i}.gz"
     fi
done
umount tmpfs
    
por 02.04.2017 / 11:30