extrai alguns membros do arquivo tar e canaliza através da rede

9

edit: desejo extra member01 e member02 e diretório blah/

tarball_1.tar.gz contém o diretório test/ com 20 arquivos. Eu quero extrair apenas membro test/member01 e test/member02 e diretório blah/ e copiá-los para outro "remote_host" usando ssh / scp.

Isso pode ser feito como um one-liner? Considerei usar tar , pax ou cpio , mas acho que ainda não sou muito habilidoso com esses utilitários.

    
por Felipe Alvarez 30.08.2011 / 10:17

1 resposta

15
tar -xzOf file.tar.gz file_you_want_to_extract | ssh user@host 'cat > /path/to/destination_file'
  • -x : extrair
  • -z : através de gzip
  • -f : Pegue um arquivo como entrada.
  • -O : extrair para stdout

O file_you_want_to_extract é extraído de file.tar.gz para a saída padrão, canalizado para ssh , que executa cat no host remoto e grava seu padrão no remoto destination_file . Claro, você vai querer garantir que você tenha permissão de gravação para o arquivo de destino desejado no host remoto.

    
por 30.08.2011 / 10:40

Tags