Listar arquivos compactados

1. Listar arquivos compactados

Luiz Fernando
agressive

(usa Debian)

Enviado em 22/11/2014 - 05:48h

Olá pessoal, estou tendo num problema num cliente que é o seguinte:

Tenho um servidor de arquivos samba e que faz backup dos arquivos dos usuários e as vezes eu preciso resgatar algum arquivo dentro do backup diferencial, só que dá um trabalho danado pra achar o arquivo e tenho que abrir um por um. A estrutura está mais ou menos assim:

-rw-r--r-- 1 root root 17547516 Out 31 13:01 dif-31-10-2014-130101.tar.gz
-rw-r--r-- 1 root root 20386394 Out 31 14:01 dif-31-10-2014-140101.tar.gz
-rw-r--r-- 1 root root 53947724 Out 31 15:01 dif-31-10-2014-150101.tar.gz
-rw-r--r-- 1 root root 47079549 Out 31 16:01 dif-31-10-2014-160101.tar.gz
-rw-r--r-- 1 root root 100348337 Out 31 17:01 dif-31-10-2014-170101.tar.gz
-rw-r--r-- 1 root root 111824226 Out 31 18:01 dif-31-10-2014-180101.tar.gz
-rw-r--r-- 1 root root 47717096 Out 31 19:01 dif-31-10-2014-190101.tar.gz
-rw-r--r-- 1 root root 73862404 Out 31 20:01 dif-31-10-2014-200101.tar.gz
-rw-r--r-- 1 root root 16462581 Out 31 21:01 dif-31-10-2014-210101.tar.gz
-rw-r--r-- 1 root root 14388046 Out 31 22:01 dif-31-10-2014-220101.tar.gz

Eu queria listar os arquivos que estão compactados dentro dos arquivos tar, mas nenhum comando funciona, já tentei listar com o tar e com o gzip. Alguem tem uma luz?

Obrigado!
Fernando.



  


2. Re: Listar arquivos compactados

Wagner Souza
wagnerfs

(usa Fedora)

Enviado em 22/11/2014 - 10:25h

Prezado, já tentou usar o comando abaixo:

# tar -tzvf backup.tar.gz | grep arquivo

Com a opção -t, os arquivos que estão compactados na pasta backup serão listados e com o grep é feito o filtro do arquivo desejado.

Não sei se é isso que você está procurando.


3. Re: Listar arquivos compactados

Luiz Fernando
agressive

(usa Debian)

Enviado em 22/11/2014 - 11:57h

Amigo k666. Muito obrigado, estava faltando -t. valeu mesmo

Um abraço!



k666 escreveu:

Prezado, já tentou usar o comando abaixo:

# tar -tzvf backup.tar.gz | grep arquivo

Com a opção -t, os arquivos que estão compactados na pasta backup serão listados e com o grep é feito o filtro do arquivo desejado.

Não sei se é isso que você está procurando.





4. Tar

Cleber Pereira da Silva
ocleber

(usa Debian)

Enviado em 22/11/2014 - 13:01h

Assim vc pode buscar em vários arquivos ao mesmo tempo:

for i in `find *.tar.gz`; do tar -tvf $i; done | grep -i palavra


Abraços
be free


5. Re: Listar arquivos compactados

Luiz Fernando
agressive

(usa Debian)

Enviado em 22/11/2014 - 14:45h

Valeu ocleber, melhor ainda. isso vai me poupar um bom tempo trabalho.

Um abraço!


ocleber escreveu:

Assim vc pode buscar em vários arquivos ao mesmo tempo:

for i in `find *.tar.gz`; do tar -tvf $i; done | grep -i palavra


Abraços
be free





6. Re: Listar arquivos compactados

Luiz Fernando
agressive

(usa Debian)

Enviado em 25/11/2014 - 03:40h

Tem como sair o nome do arquivo compactado no resultado? pra eu saber em qual gzip está o arquivo que eu procuro?


7. Re: Listar arquivos compactados

Alexandro Lima
alexandro_lima

(usa openSUSE)

Enviado em 25/11/2014 - 09:11h

Bom dia!

Amigo, tente fazer dessa forma:

salve o comando abaixo e depois dê permissão de execução com o comando chmod +x <nomedoarquivo>, depois é só rodar "./nomedoarquivo"

#!/bin/sh

PALAVRA="palavra"
for i in `ls *.tar.gz`
do
if (tar -tzvf $i | grep -i $PALAVRA) ; then
echo "Encontrado no arquivo $i"
fi

done

espero que ajude.


www.numlock.com.br


8. Re: Listar arquivos compactados

Luiz Fernando
agressive

(usa Debian)

Enviado em 26/11/2014 - 00:19h

Alexandro Lima funcionou perfeitamente. impressionante como tudo é possível nesse tal de script, rsrs. Pra quem está começando dá pra ficar de boca aberta.

Muito Obrigado!