Como Usar o Comando Grep no Linux
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:
- O comando ls -l /etc lista todos arquivos e diretórios dentro de /etc.
- O operador
|
redireciona os resultados do comando ls para ogrep
, que filtra as ocorrências de “.conf” do resultado. - 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.