unpigz (e untar) para um diretório específico

3

Eu sei como gunzip um arquivo para um local selecionado.

Mas quando se trata de utilizar toda a potência da CPU, muitos consideram pigz em vez de gzip . Então, a questão é como eu unpigz (e untar) um arquivo *. Tar.gz para um diretório específico?

    
por TranslucentCloud 27.04.2015 / 20:04

1 resposta

7

Encontrei três soluções:

  1. Com o GNU tar , usando a incrível opção -I :

    tar -I pigz -xvf /path/to/archive.tar.gz -C /where/to/unpack/it/
    
  2. Com muito do Linux (para aqueles que preferem um visual mais geek):

    unpigz < /path/to/archive.tar.gz | tar -xvC /where/to/unpack/it/
    
  3. Mais portável (para outras tar implementações):

    unpigz < /path/to/archive.tar.gz | (cd /where/to/unpack/it/ && tar xvf -)
    

    (Você também pode substituir tar xvf - por pax -r para torná-lo compatível com POSIX , embora não necessariamente mais portátil em sistemas baseados em Linux).

Os créditos vão para @PSkocik para uma direção correta, @Stéphane Chazelas para a 3ª variante e para o autor de esta resposta .

    
por 28.04.2015 / 07:52