você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

Procurando uma palavra em vários arquivos numa hierarquia de diretórios

Colaboração: Ricardo Jurczyk Pinheiro

Data de Publicação: 19 de November de 2008

Uma necessidade que tenho vez por outra, no Linux, é descobrir em que arquivo de configuração, dentro do /etc, devo mexer. Como o /etc tem vários diretórios, e dentro deles outros arquivos, acabei desenvolvendo uma solução "rápida e suja", que funciona muito bem:

#!/bin/sh
#
# Pesquisa - Encontra um padrao dentro de uma lista de arquivos
# numa arvore de diretorios
# Autor: Ricardo Jurczyk Pinheiro - ricardojpinheiro@ibest.com.br
# Versao 0.000000000000000000000000000000000000000000000000000001
#
#
if [ $# -ne 2 ]; then
      echo "$0 (palavra a ser procurada) (arvore de diretorios)"
      exit 1
else
      for nome in $(find $2 -type f | sort | uniq); do
              echo $nome
              cat $nome | grep $1
      done
fi

E basta fazer um pipe com o less, que resolve o problema de excesso de informações na tela.

Ricardo Jurczyk Pinheiro - Linux user #82838 - http://estudiodaintrospeccao.blogspot.com


Veja a relação completa dos artigos de Ricardo Jurczyk Pinheiro