Find em arquivos compactados (grep em arquivos tgz)

Publicado por Wagner Cipriano 03/03/2009 (última atualização em 15/07/2011)

[ Hits: 9.136 ]

Download findInDirTgz.sh

Download 1308351755.findInDirTgz.sh (versão 2)




Busca uma string dentro de arquivos compactados.

Parâmetros:
  1. String to find
  2. Diretorio Base

Exemplo de execução:
  ./findInDirTgz.sh "Arquivo de depuracao Pagamento" /home/travele/wagner/log/aereo/

Neste caso a rotina navega recursivamente dentro das pastas a partir do diretório base, buscando por arquivos com a extensão ".tgz" e dentro dos arquivos encontrados, busca pela string informada.

  



Versões atualizadas deste script

Versão 2 - Enviado por Wagner Cipriano em 17/06/2011

Changelog: Melhoria na Busca pela string a ser pesquisada.
Mais redondo que a versão anterior.

Download 1308351755.findInDirTgz.sh


Esconder código-fonte

#!/bin/bash
#    Autor: Gnao    <wagner@intip.com.br
#    * Busca uma string dentro de pastas com arquivos tgz
#exit 1;
PATH=/usr/sbin:/usr/local/bin:/usr/bin:/bin
export PATH
inicio="`date +%Y-%m-%d_%H:%M:%S`"

PHelp="
  HELP:
    Script de busca de strings dentro dos arquivos de log (tgz)
    Parametros:
      1. String to find
      2. Diretorio
"
#Valida Params
if [ -z "$1" ]; then
  echo "$PHelp"
  exit 0;
fi
if [ -z "$2" ]; then
  echo "$PHelp"
  exit 0;
fi

#
echo $1
echo $2
echo " "
echo " "

find $2 -name "*.tgz" -type f | while read i; do
  RES=`zgrep -i "$1" $i`
  if [ "$?" -eq 0 ]; then
    echo "### $i ###"
    echo "$RES"
    echo " ";
    echo " ";
  fi
done


echo "Rotina inciou   em: $inicio"
echo "Rotina terminou em: `date +%Y-%m-%d_%H:%M:%S`"

exit 1;

Scripts recomendados

Mais um backup

Gera estatísticas de tráfego de pacotes nas interfaces de um servidor linux via SNMPv3.

Agenda desenvolvida em Shell Script

Conversor de Dicionarios do Babylon

Libera conectividade social em rede com squid


  

Comentários
[1] Comentário enviado por maxmax em 24/03/2009 - 09:10h

Horrível!! Coisa de amador, sem nenhuma otimização de código.
Sugiro ao vivaolinux a remoção deste Script, se é que pode ser chamado de Script!

Max


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts