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!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts