arquivos em vários *.tar

1. arquivos em vários *.tar

JOSE ANTONIO NEVES PEREIRA
joseantonio2000

(usa Ubuntu)

Enviado em 16/08/2022 - 15:31h

Caros
Tenho vários arquivos *.tar e gostaria de procurar arquivos por exemplo "pdf" dentro dos tar e unzip apenas eles.

Um amigo daqui vez o script abaixo:
for i in $(ls -1 *.tar ); do tar -tvf $i |grep .pdf ;done 2> /dev/null

funcionou muito bem para procurar mas quando mudei para "xzf" para descompactar, unzipou tudo!

Podem ajudar.

abrs.


  


2. Re: arquivos em vários *.tar

Carlos APC
Carlos_Cunha

(usa Linux Mint)

Enviado em 16/08/2022 - 16:29h

Mas no caso o que vc quer fazer agora ?


#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



3. Re: arquivos em vários *.tar

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 16/08/2022 - 16:37h

joseantonio2000 escreveu:

Caros
Tenho vários arquivos *.tar e gostaria de procurar arquivos por exemplo "pdf" dentro dos tar e unzip apenas eles.

Um amigo daqui vez o script abaixo:
for i in $(ls -1 *.tar ); do tar -tvf $i |grep .pdf ;done 2> /dev/null

funcionou muito bem para procurar mas quando mudei para "xzf" para descompactar, unzipou tudo!

Podem ajudar.
abrs.

Boa tarde José.
Veja se ajuda:
#!/usr/bin/env bash

for arq in *.tar;do
if grep -iq '\.pdf$' <<< $(tar -tf "$arq");then
echo -e "Existe PDF em "$arq"\nDescompactando . . .";
tar -xvzf "$arq"
fi
done

--------------------------------------------------------------------------------------------------------------
Simplificado
for arq in *.tar;do
grep -iq '\.pdf$' <<< $(tar -tf "$arq") && tar -xvzf "$arq"
done

---------------------------------------------------------------------------------------------------------------
Se encontrar "PDF", descompacta.

Execute no diretório onde estão os arquivos ".tar"

______________________________________________________________________
Importante:
lynx --dump https://www.vivaolinux.com.br/termos-de-uso/ | sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts