Pipe com Grep
Parte da seção Fundamentos do Journey de Terminal da Coddy — lição 46 de 82.
O comando grep torna-se especialmente poderoso quando combinado com pipes. Em vez de pesquisar dentro de um arquivo, você pode filtrar a saída de qualquer comando para encontrar exatamente o que precisa.
Imagine que você queira encontrar um arquivo específico em uma listagem de diretório:
ls -l | grep "report"Isso lista todos os arquivos em detalhes, depois filtra para mostrar apenas as linhas contendo "report". Você obtém resultados direcionados sem precisar examinar tudo manualmente.
O pipe para grep funciona com qualquer comando que produza saída de texto. Para encontrar processos em execução relacionados a um programa específico:
ps aux | grep "python"Você também pode encadear grep com outros comandos que você aprendeu. Para contar quantas linhas contêm uma palavra específica:
cat logfile.txt | grep "error" | wc -lIsso lê o arquivo, filtra as linhas com "error", depois as conta. As flags do grep que você aprendeu anteriormente funcionam da mesma forma em pipes — use -i para correspondência sem distinção entre maiúsculas e minúsculas ou -v para excluir correspondências.
Desafio
FácilO arquivo access.log contém registros de acesso do servidor web. Use um pipe para filtrar e contar quantas requisições resultaram em um código de status de erro 500.
Execute um único comando que:
- Usa
catpara leraccess.log - Usa pipe com
greppara filtrar linhas contendo500 - Usa pipe com
wc -lpara contar as linhas correspondentes
Dica: Encadeie os três comandos usando o símbolo
|. O comandogrepfiltra a saída, ewc -lconta as linhas restantes.
Folha de consulta
O comando grep pode filtrar a saída de outros comandos usando pipes (|).
Filtre listagens de diretórios:
ls -l | grep "report"Filtre processos em execução:
ps aux | grep "python"Encadeie múltiplos comandos para filtrar e contar:
cat logfile.txt | grep "error" | wc -lTodas as flags do grep funcionam em pipes, como -i para correspondência insensível a maiúsculas/minúsculas e -v para excluir correspondências.
Experimente você mesmo
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
4Diretórios
Criar um DiretórioCopiar um DiretórioMover e Renomear um DiretórioExcluir um DiretórioResumo - Operações com Diretórios7Conteúdo do Arquivo
Head e TailContagem de PalavrasComando SortComando UniqGrep BásicoGrep com FlagsResumo - Detetive de Texto10Projeto Analisador de Log
Visão Geral do ProjetoVisualizando o Arquivo de Log2Navegação
Imprimir Diretório de TrabalhoListar ArquivosMudar DiretórioCaminhos Absolutos vs RelativosDiretório Home e RaizResumo - Encontre Seu Caminho8Redirecionamento
Saída PadrãoSobrescrever em um ArquivoAnexar a um ArquivoEntrada PadrãoErro PadrãoRecapitulação - Construtor de Log3Arquivos
Criar um ArquivoLer um ArquivoCopiar um ArquivoMover e Renomear um ArquivoExcluir um ArquivoResumo - Operações com Arquivos6Curingas e Padrões
O Curinga AsteriscoO Curinga InterrogaçãoCuringas de ColchetesCombinando CuringasResumo - Operações Seletivas9Pipes
O Que é um PipeEncadeando Dois ComandosEncadeando Múltiplos ComandosPipe com GrepResumo - Pipeline de Dados