Localizar arquivo contendo texto especificado no Linux

Publicado por Andrey Smith em 01/12/2009

[ Hits: 44.615 ]

 


Localizar arquivo contendo texto especificado no Linux



Certa vez, após instalar o GLPI (sistema de helpdesk), houve a necessidade de customizá-lo para ficar de acordo com as necessidades da empresa. O grande problema era saber em qual arquivo encontrar o conteúdo que deveria ser alterado.

Segue abaixo um exemplo de como efetuar a busca:

grep -R manaus /home/smith/ 2>/dev/null | cut -d: -f2 | uniq

Vamos dissecar o comando:
  • grep -R manaus /home/smith/ - procura recursivamente pela palavra "manaus" em todos arquivos a partir do diretório /home/smith;
  • 2>/dev/null - direciona as linhas de erro para /dev/null;
  • | (pipe) - redireciona a saída do comando anterior (grep -R manaus /home/smith/ 2>/dev/null), para a entrada do próximo comando;
  • cut -d: -f2 - o grep gera um arquivo no seguinte formato:

    /path/arquivo:conteúdo da linha

    Como queremos saber apenas qual arquivo contém a palavra "manaus", utilizaremos o comando cut para tratar a saída. O cut lê a saída do comando anterior e seleciona apenas o segundo campo (-f2), separado pelo delimitar (-d) "dois pontos" (":"), ignorando tudo que estiver depois do delimitador.
  • uniq - caso haja mais de uma ocorrência da palavra "manaus" em um mesmo arquivo, será exibida uma linha para cada ocorrência. O uniq remove as linhas duplicadas.

:wq!
Andrey Smith

Outras dicas deste autor

Instalando Encore ENL832-TX-ICNT no Debian

CentOS 5.4 - Adicionando o repositório RPMforge

CentOS 5.4 - Criando um repositório local em 10 passos

Configurando hosts favoritos no SSH

Leitura recomendada

Montar .ISO .NRG e converter .NRG para .ISO no Ubuntu 10.04

Mudar a splash screen do Ubuntu 10.04

Como ocultar a barra de tarefas do GNOME no Ubuntu 14.04

Produção de audio profissional no GNU/Linux

Grafana - Alterando imagem da tela de login

  

Comentários
[1] Comentário enviado por ulisses_c em 04/05/2011 - 12:54h

Como faria para exibir a palavra dentro do arquivo como um faz Ctrol + F em editor de texto por exemplo ? seria com esse comando ou teria outro metodo mais facil.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts