tar command - como extrair um arquivo para um diretório específico

2

Existe uma maneira de extrair um único arquivo de um arquivo tar para um diretório específico? Na verdade, estou lidando com um arquivo .tgz , estou tentando algo assim:

gunzip -c mytargzfile.tgz | tar xvf - path/to/myfile -C /tmp

Para extrair uma entrada de arquivo chamada path/to/myfile in mytargzfile.tgz to /tmp directory.

Mas este comando falha quando o tar reclama dizendo que não pode encontrar o arquivo chamado -C e /tmp no arquivo. Eu tentei mudar a opção -C antes de xvf e também não ajudou.

Note que estou usando o AIX e o KSH

    
por ring bearer 15.10.2010 / 19:23

2 respostas

1

Eu acho que a opção C para tar deve ocorrer mais cedo no comando

tar -cvf - -C /tmp path/to.myfile

Eu imagino que você possa baixar, compilar e instalar o GNU tar em seu ~ / bin, o que pode tornar as coisas um pouco mais fáceis.

    
por 15.10.2010 / 21:10
1

Esse comando funcionou bem para mim, como você disse que tentou com o -C first: tar -C /tmp -xvf . Talvez seja um bug na sua versão do tar?

Um pouco desajeitado, mas sempre tem:

cd /tmp
gunzip -c /path/to/mytargzfile.tgz | tar xvf - path/to/myfile

Eu recomendo instalar o GNU tar para você. Vale a pena apenas para as opções -j e -z se nada mais, e é uma das primeiras coisas que eu sempre faço em uma nova conta Unix.

    
por 15.10.2010 / 21:19

Tags