Como Usar o Comando Grep no Linux

Como Usar o Comando Grep no Linux

23/10/2022 Dicas linux 0

O grep é um comando simples que tem como objetivo procurar trechos de texto (strings) dentro de arquivos ou diretórios e retorna para você em quais arquivos a string foi encontrada.

Neste tutorial, vamos ensinar como utilizar o Comando Grep no Linux (Unix) e mostrar exemplos práticos de sua funcionalidade.

Como Usar o Comando Grep?

O Comando Grep é uma das ferramentas mais úteis e versáteis disponível no Unix. Ele procura por padrões especificados pelo usuário dentro de arquivos de texto. Em outras palavras, você pode pesquisar por palavras ou padrões e a linha ou linhas que serão exibidas.

A sintaxe do Comando Grep ao realizar uma busca fica assim:

grep [opções] padrão [ARQUIVO]
  • grep – a instrução de comando.
  • [opções] – modificadores do comando.
  • padrão – o que está sendo pesquisado.
  • [ARQUIVO] – o arquivo em que a pesquisa está sendo realizada.

Você pode ver o manual e explicações de diversas opções do comando executando:

grep --help

O comando oferece muitas possibilidades, mas as mais comuns e mais utilizadas são:

  • -i – a pesquisa não irá diferenciar letras maiúsculas de minúsculas. Ou seja, se você pesquisar por “produto” será o mesmo que pesquisar “PRODUTO”.
  • -c – irá mostrar somente o número de linhas que combinam com o padrão pesquisado.
  • -r – habilita pesquisa recursiva no diretório atual.
  • -v – com esta opção, as linhas que não combinam com o padrão pesquisado serão exibidas.
  • -n – Exibe as linhas encontradas com o respectivo número da linha

Exemplos Úteis do Comando Grep Linux

Encontrando uma Palavra em um Arquivo de Texto

Para pesquisar uma palavra em um arquivo de texto basta executar o comando:

grep solicitação arquivo
  • solicitação – a palavra que você está pesquisando.
  • arquivo – o arquivo em que a busca está sendo realizada.

Em nosso caso, estamos procurando pela palavra daniel no arquivo /etc/passwd:

grep daniel /etc/passwd

Mas… E se quisermos procurar em vários arquivos, e não apenas em UM arquivo específico?

grep "trecho a procurar" *

Com isso, o grep vai procurar o trecho em todos os arquivos do diretório atual. Se você quiser, pode especificar um diretório diferente:

grep "trecho a procurar" /etc/*

Encontre uma Palavra Ignorando Letras Maiúsculas ou Minúsculas

O resultado destaca as linhas que combinam com a pesquisa, assim:

Para isso é necessário adicionar a opção -i.

grep -i solicitação arquivo

Simples assim!

Contador de Palavras

Com o comando grep você pode descobrir quantas vezes a palavra pesquisada aparece no arquivo de texto. Basta adicionar a opção -c.

grep -c solicitação arquivo

Encontrando uma Palavra entre Vários Arquivos

Também é possível pesquisar em diversos arquivos por uma palavra em um único comando:

grep -l solicitação ./*

Os arquivos que contém a palavra que você pesquisou serão mostrados no resultado.

Filtrar resultados de arquivos


ls -l /etc | grep -i .conf

Observe que ele exibe e destaca todas as strings contendo a cadeia de caracteres “.conf” (veja a imagem, acima).

Entenda o que foi feito:

  1. O comando ls -l /etc lista todos arquivos e diretórios dentro de /etc.
  2. O operador | redireciona os resultados do comando ls para o grep, que filtra as ocorrências de “.conf” do resultado.
  3. O parâmetro -i, pede ao programa que ignore se as letras estão em maiúsculas/minúsculas.

Conclusão

Usar o comando grep Linux torna a vida de quem trabalha com muitos arquivos de texto mais simples. Por isso, ele é considerado um dos comandos mais versáteis do sistema.

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *