Como pesquisar recursivamente dentro de vários níveis de arquivos tar tgz integrados? [duplicado]

1

Alguém pode me ajudar a descobrir um comando para encontrar um arquivo recursivamente que esteja embutido em um arquivo tgz que esteja dentro de outros arquivos tgz recursivamente:

MainFile.tgzSubFile1.tgzSubFile2.tgzSubFile3.tgzabc.txt

Meu objetivo é conseguir listar abc.txt sem extrair MainFile.tgz nem SubFileX.tgz .

O comando abaixo está listando apenas o primeiro nível de arquivos (por exemplo, SubFile.tgz ); portanto, o comando grep não pode encontrar abc.txt na lista:

tar tvf MainFile.tgz | grep abc
    
por Carlos 08.04.2016 / 17:22

1 resposta

2

Você precisa extraí-los, mas não precisa armazená-los no disco:

tar -xOf MainFile.tgz SubFile1.tgz | tar -xO SubFile2.tgz | tar -xO SubFile3.tgz | tar -x abc.txt

Os sinalizadores -O definem a saída como stdout e sem -f tar aceitará os dados do arquivo stdin.

    
por 08.04.2016 / 17:45