Mostrar arquivos tar.gz, mas o tar.gz já está dentro de um arquivo tar

2

Eu quero ver um arquivo tar.gz dentro de um arquivo tar.

Então eu tenho um arquivo tar que tem um arquivo tar.gz dentro e eu quero ver os arquivos tar.gz sem extrair meu tar e meu tar.gz.

Então, para explicar mais, dentro do meu tar eu tenho um tar.gz, File.tar - > File.tar.gz. então eu preciso ver os arquivos dentro do meu tar.gz mas meu tar.gz já está dentro do meu tar, e isso sem extrair o meu tar e também o meu tar.gz.

Eu tentei isso, mas não funciona: tar -xvf File.tar File2.tar.gz | gtar -ztvf -

Você pode me ajudar com isso?

    
por Issam 03.01.2017 / 11:52

5 respostas

3

Você precisará executar tar -tf /path/to/file.tar.gz ou tar -tzf /path/to/file.tar.gz .

Até onde eu vi, você deve evitar usar -tf e preferir -tzf : pelo menos em sistemas BSD, esquecendo o z :

tar: input compressed with gzip; use the -z option to decompress it

Após o seu comentário, diga que deseja listar o conteúdo de um arquivo dentro de um arquivo, ... Tente isto:

tar -zxOf /path/to/parent/archive.tar.gz path/to/packed/archive.tar.gz | tar -ztf -

Com path/to/packed/archive.tar.gz , o caminho do seu arquivo dentro de /path/to/parent/archive.tar.gz .

    
por 03.01.2017 / 11:57
2

Existem muitas soluções você pode usar o comando

tar -tvf filename.tar.gz

Você também pode usar o vim

vim filename.tar.gz
    
por 03.01.2017 / 11:58
0

vim fnm.tar.gz ou vim flnm.tgz tar -tvzf fnm.tar.gz ou tar -tvzf flnm.tgz

Ambos ajudarão a exibir o conteúdo no arquivo. Se você tem um arquivo tar dentro de outro arquivo tar, isso é um pouco complicado.

    
por 03.01.2017 / 15:49
0

_ para um nível de taragem _

uma solução portátil para descompactar 'on the fly' e depois exibir o conteúdo:

gzip -dc - <file.tar.gz | tar tvf -

este é o pingente da compressão em tempo real:

tar cf -  files and dirs | gzip -c - >newcompressedtarfile.tar.gz

(claro, com um tar recente (e geralmente GNU variante) você pode simplesmente: tar tzvf file.tar ... mas o caminho acima é portátil, e pode ser generalizado para muitos outros cenários (encontre informações dentro de arquivos sem tirando-os primeiro, etc)

_ para o seu caso: liste o conteúdo de um .tar.gz dentro de um .tar _

Você provavelmente precisará da versão GNU do tar e usará o optino --to-stdout (ou Capital O , -O ) para descompactar um arquivo para stdout em vez de criá-lo no disco:

# let's say Archive.tar contains file.tar.gz, 
{and you want the content of the latter without writing any files on disk

tar -xOf  archive.tar  file.tar.gz | gzip -dc - | tar tvf -
    
por 03.01.2017 / 12:51
0

Gnu tar tem "--to-comando"

tar xzf tarfile1.tar.gz pathto/tarfile2.tar.gz --to-command='tar tvzf -'

De qualquer forma "-O" também funciona para você:

tar xzf tarfile1.tar.gz pathto/tarfile2.tar.gz -O | tar tvzf -
    
por 03.01.2017 / 18:32

Tags