Enviar a saída de um comando por um pipe
Use | para alimentar o comando seguinte e depois encadeie grep e wc.
Iniciar lição interativaUm pipe | pega na saída do comando à esquerda e usa-a como entrada à direita. Deixa de guardar ficheiros descartáveis só para os filtrar.
Filtrar uma listagem: ls | grep
ls imprime nomes. grep fica com as linhas que lhe interessam. Juntos:
Fique só com os nomes correspondentes do ls!
Ficar com os ficheiros de texto:
> escreve para um ficheiro. | escreve para outro comando. Confundi-los é o primeiro erro habitual.
Encadear três comandos
Pode usar pipe mais do que uma vez. Conte linhas correspondentes sem abrir o registo:
printf '%s\n' 'info: started' 'warn: slow' 'warn: timeout' > log.txt
cat log.txt | grep warn | wc -l
cat imprime o ficheiro, grep fica com as linhas de aviso e wc -l conta-as.
Construa pipes da esquerda para a direita: produza dados, filtre-os e depois resuma-os.
Teste de conhecimentos
1 / 3O que faz o operador |?
Referências
Estes links de documentação trazem detalhes confiáveis sobre os comandos usados neste artigo.
A seguir
Encontre linhas correspondentes num ficheiro e ignore maiúsculas com grep -i.