Com o comando padrão pax
:
gunzip < file.tar.gz | pax -r's|.*/||p'
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
Com o comando padrão pax
:
gunzip < file.tar.gz | pax -r's|.*/||p'
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,^\([^/][^/]*/\)\+,,'
Tags tar