Como extrair apenas arquivos sem criar caminhos de diretório do arquivo tar.gz?

2

Eu tenho um arquivo tar.gz do qual eu tenho que extrair apenas os arquivos no diretório atual sem criar toda a estrutura.

Por exemplo :

tar.gz contém os arquivos abaixo,

/u01/app/oracle/file1
..
..
/u01/app/oracle/file10
/u01/testdata/file1
..
..
/u01/testdata/file5

o tar.gz está presente em /u02 . Então, ao extrair, quero file1 a file10 vindo de /u02 , toda a estrutura de diretório está sendo criada sob /u02

    
por Girish Sunkara 14.03.2017 / 03:42

2 respostas

2

Com o comando padrão pax :

gunzip < file.tar.gz | pax -r's|.*/||p'
    
por 14.03.2017 / 07:05
1

Como você parece ter um número fixo de componentes de caminho, passe --strip-components = 3 para tar para remover /u01/app/oracle ao extrair para /u02

Para um número variável de componentes, use o --transform flag. Algo ao longo das linhas de --transform='s,^\([^/][^/]*/\)\+,,'

    
por 14.03.2017 / 06:02

Tags