Como achar um texto dentro de um arquivo

O arquivo é longo. grep mostra só a linha em que a palavra aparece.

Pinguim do Comandu com uma lupa sobre a palavra texto num arquivo

A linha, não o arquivo inteiro

O arquivo é longo e a palavra está no meio. ls só mostra o nome. Abrir tudo espalha a linha que você procura entre as outras.

grep lê o arquivo e devolve só as linhas em que aquele trecho aparece. O resto fica de fora.

A palavra e o arquivo

O comando leva dois dados: a palavra e o arquivo. grep erro app.log procura erro dentro de app.log.

bash - comandu
aluno@desafio:~$ grep erro app.log
2026-10-25 19:02 erro ao abrir o banco
2026-10-25 19:04 erro de permissão

Cada linha que volta contém o trecho. erro também entra em erros, porque o grep procura o pedaço dentro da linha, não a palavra isolada.

Resolva

Você rodou grep erro app.log. O que volta no terminal?

O número da linha

grep -n erro app.log põe o número da linha na frente. O -n não muda a busca. Ele só marca onde a linha está no arquivo.

bash - comandu
aluno@desafio:~$ grep -n erro app.log
12:2026-10-25 19:02 erro ao abrir o banco
18:2026-10-25 19:04 erro de permissão

A primeira resposta está na linha 12. A segunda, na 18. Dá para abrir o arquivo e ir direto nesse ponto.

Resolva

Você precisa saber em que linha a palavra está. Qual comando pede isso?

Maiúscula e minúscula

erro e ERRO são trechos diferentes para o grep. Se o log grava a palavra em maiúscula, a busca em minúscula volta vazia.

grep -i erro app.log ignora essa diferença. O -i aceita erro, Erro e ERRO na mesma busca.

bash - comandu
aluno@desafio:~$ grep -i erro app.log
2026-10-25 19:02 erro ao abrir o banco
2026-10-25 19:10 ERRO fatal no disco

Descubra

O log tem ERRO em maiúscula e o grep erro não mostrou nada. O que muda a busca?

A pasta inteira

A palavra pode estar em outro arquivo da pasta. grep -r erro logs repete a busca em logs e no que está dentro. O nome do arquivo entra na frente da linha.

bash - comandu
aluno@desafio:~$ grep -r erro logs
logs/app.log:2026-10-25 19:02 erro ao abrir o banco
logs/nginx.log:erro de conexão

A primeira linha veio de logs/app.log. A segunda, de logs/nginx.log.

Silêncio e arquivo ausente

Se a palavra não está no arquivo, o terminal não escreve nada. A busca aconteceu. Nenhuma linha serviu.

Se o nome do arquivo está errado, a resposta muda. O grep escreve No such file or directory. Ele não chegou a procurar a palavra, porque não achou o arquivo.

bash - comandu
aluno@desafio:~$ grep erro aplicacao.log
grep: aplicacao.log: No such file or directory

O nome verdadeiro era app.log. Para conferir a pasta antes da busca, veja como navegar em pastas.

Descubra

O terminal escreveu No such file or directory. O que aconteceu?

Categorias

Arquivos