Menu
Coddy logo textTech

Encadeando Múltiplos Comandos

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

Você não está limitado a conectar apenas dois comandos. Pipes podem encadear quantos comandos você precisar, com cada um processando a saída do comando anterior.

Basta adicionar mais símbolos | para estender o pipeline:

cat data.txt | sort | head -5

Isso lê o arquivo, ordena todas as linhas em ordem alfabética e então mostra apenas os primeiros 5 resultados. Os dados fluem da esquerda para a direita através de cada comando em sequência.

Aqui está um exemplo prático que encontra entradas únicas ordenadas:

cat names.txt | sort | uniq

O conteúdo do arquivo é ordenado primeiro (o que agrupa as duplicatas), então o uniq remove linhas duplicadas consecutivas. A ordem importa aqui — o uniq remove apenas duplicatas adjacentes, então a ordenação deve vir primeiro.

Você pode adicionar ainda mais estágios. Para contar quantos nomes únicos existem:

cat names.txt | sort | uniq | wc -l

Cada pipe adiciona outra etapa de transformação. Ao construir pipelines mais longos, pense no que cada comando precisa como entrada e no que ele produz como saída. O formato de saída de um comando deve fazer sentido como entrada para o próximo.

challenge icon

Desafio

Fácil

O arquivo visitors.txt contém uma lista de nomes de visitantes com duplicatas. Use um pipeline com três comandos para contar quantos visitantes únicos existem.

Execute um único comando que:

  • Use cat para ler visitors.txt
  • Encaminhe (pipe) para sort para organizar os nomes em ordem alfabética
  • Encaminhe (pipe) para uniq para remover entradas duplicadas
  • Encaminhe (pipe) para wc -l para contar os nomes únicos

Dica: Encadeie todos os quatro comandos usando múltiplos símbolos |. Lembre-se de que o uniq apenas remove duplicatas adjacentes, portanto, a ordenação deve vir antes dele.

Folha de consulta

Pipes podem encadear vários comandos, com cada comando processando a saída do anterior. Use o símbolo | para conectar os comandos:

cat data.txt | sort | head -5

Os dados fluem da esquerda para a direita através de cada comando em sequência.

Para encontrar entradas ordenadas exclusivas:

cat names.txt | sort | uniq

O comando uniq remove linhas duplicadas consecutivas, portanto, a ordenação deve vir primeiro para agrupar as duplicatas.

Para contar entradas exclusivas, adicione wc -l ao pipeline:

cat names.txt | sort | uniq | wc -l

Ao construir pipelines, certifique-se de que o formato de saída de um comando faça sentido como entrada para o próximo.

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