Menu
Coddy logo textTech

Grep com Flags

Parte da seção Fundamentos do Journey de Terminal da Coddy — lição 35 de 82.

grep torna-se ainda mais poderoso quando você adiciona opções para controlar como ele pesquisa e o que exibe.

As flags mais úteis do grep:

-ipesquisa insensível ao caso. Faz correspondência independentemente de maiúsculas ou minúsculas:

grep -i "error" server.log   # matches error, Error, ERROR

-n — mostra números de linha ao lado de cada linha correspondente:

grep -n "error" server.log
3:error: disk full
6:error: connection timeout

-c — mostra apenas a contagem das linhas correspondentes, não as linhas em si:

grep -c "error" server.log
2

-vinverter a busca — mostrar linhas que não correspondem ao padrão:

grep -v "info" server.log
error: disk full
warning: high memory usage
error: connection timeout

-r — pesquisar recursivamente em todos os arquivos de um diretório:

grep -r "error" logs/   # search all files inside the logs folder

-l — mostre apenas os nomes de arquivos que contêm uma correspondência, não as linhas correspondentes:

grep -l "error" *.log

Combinando flags:

Você pode combinar várias flags juntas:

grep -in "error" server.log   # case insensitive + show line numbers
grep -vc "info" server.log    # invert + count non-info lines
challenge icon

Desafio

Fácil

Use grep com flags para inspecionar server.log de três maneiras diferentes:

  1. Encontre todas as linhas contendo error e mostre seus números de linha usando -n
  2. Conte quantas linhas contêm info usando -c
  3. Mostre todas as linhas que não contêm info usando -v

Dica: Execute os três comandos um após o outro. Cada flag altera como o grep apresenta seus resultados.

Folha de consulta

Use flags para controlar como o grep pesquisa e exibe os resultados.

-i — pesquisa insensível a maiúsculas/minúsculas:

grep -i "error" server.log   # matches error, Error, ERROR

-n — mostrar números de linha:

grep -n "error" server.log

-c — mostrar contagem de linhas correspondentes:

grep -c "error" server.log

-v — inverter pesquisa (mostrar linhas não correspondentes):

grep -v "info" server.log

-r — pesquisar recursivamente em diretórios:

grep -r "error" logs/

-l — mostrar apenas nomes de arquivos contendo correspondências:

grep -l "error" *.log

As flags podem ser combinadas:

grep -in "error" server.log   # case insensitive + line numbers
grep -vc "info" server.log    # invert + count

Experimente você mesmo

Terminal
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos