Pular para o conteúdo
Waldo Eller | Cloud/DevOps: início
Voltar para Trilha: Linux Essentials
Linux

Dia 14/30 — Pipelines, Redirecionamento e Expressões Regulares

Publicado em

5 min de leitura
Capa do artigo Dia 14/30 — Pipelines, Redirecionamento e Expressões Regulares

Hoje é o Dia 14 do desafio de 30 dias estudando Linux, com foco na certificação Linux Essentials — LPI 010-160 e na construção de uma base prática para atuar com Suporte Técnico em TI.

Hoje aprofundamos a ideia central da filosofia Unix: ferramentas pequenas ficam muito poderosas quando combinadas. Também vamos separar globbing de expressão regular, porque essa confusão é frequente.

📌 Metodologia do projeto:
Teoria → Exercício → Prática → Explicar → Revisar


🎯 Objetivos do dia

  • Objetivo LPI: 3.2 — Pesquisando e extraindo dados de arquivos
  • Peso no exame: 3
  • Entender o conceito, executar os comandos no terminal e saber explicar o motivo de cada resultado.
  • Relacionar o conteúdo da prova com situações reais de suporte Linux.

💻 Ambiente recomendado: Debian/Ubuntu em máquina virtual ou máquina de estudos.
Evite praticar comandos destrutivos como rm e alterações administrativas no seu sistema principal.


🚀 UPLinux.com.br - prática complementar

Durante esta jornada, uso a plataforma UP Linux para revisar questões e executar desafios práticos:

👉 https://uplinux.com.br

Use a plataforma depois da leitura para reforçar o conteúdo com repetição espaçada e exercícios.


🧠 TEORIA

1. Pipe

comando1 | comando2

O pipe conecta o stdout do primeiro comando ao stdin do segundo.

Exemplos:

cat /etc/passwd | cut -d: -f1
cut -d: -f7 /etc/passwd | sort | uniq
ps aux | grep ssh

2. Redirecionamento

comando > arquivo       # stdout, sobrescreve
comando >> arquivo      # stdout, acrescenta
comando 2> erros.log    # stderr
comando < entrada.txt   # stdin vindo de arquivo

3. Globbing ≠ regex

Globbing é usado pelo shell para nomes de arquivos:

ls *.txt

Regex descreve padrões de texto e é interpretada por ferramentas como grep.

4. Regex básica para a prova

Elemento Significado em regex
. qualquer caractere
* zero ou mais ocorrências do elemento anterior
[abc] um caractere do conjunto
[0-9] um dígito
^ início da linha
$ fim da linha

Exemplos:

grep '^root' /etc/passwd
grep 'bash$' /etc/passwd
grep '[0-9]' arquivo.txt
grep 'a.*b' arquivo.txt

Atenção: em regex, * não significa simplesmente “qualquer coisa” como no glob. Ele repete o elemento anterior.

5. Cadeias úteis

cut -d: -f7 /etc/passwd | sort | uniq -c | sort -nr

Esse pipeline extrai shells, ordena, remove duplicatas contando ocorrências e ordena numericamente em ordem reversa.


💻 PRÁTICA GUIADA

Crie:

mkdir -p ~/linux-lab/dia14
cd ~/linux-lab/dia14
cat > contatos.txt <<'EOF'
ana:ana@example.com:5511999991111
bruno:bruno@empresa.local:5511888882222
carla:carla@example.com:5511777773333
admin:root@empresa.local:1000
EOF

Teste:

grep '^a' contatos.txt
grep 'local:' contatos.txt
grep '[0-9]' contatos.txt
cut -d: -f1 contatos.txt | sort
cut -d: -f2 contatos.txt | grep 'example.com'

Redirecione resultados:

cut -d: -f1 contatos.txt | sort > usuarios.txt
cat usuarios.txt
grep 'empresa.local' contatos.txt >> encontrados.txt
cat encontrados.txt

✏️ EXERCÍCIOS

  1. Encontre linhas de /etc/passwd que terminam em bash.
  2. Liste os shells de /etc/passwd e conte quantos usuários usam cada um.
  3. Crie um arquivo contendo o resultado sem sobrescrever outro conteúdo existente.
  4. Explique o que acontece em grep '^root' /etc/passwd.
  5. Compare ls *.txt com grep '.*txt' arquivo e explique quem interpreta cada padrão.

🗣️ EXPLICAR COM SUAS PALAVRAS

Explique com um exemplo próprio:

  • stdin, stdout e stderr;
  • pipe;
  • globbing;
  • regex;
  • ^ e $;
  • por que a ordem dos comandos de um pipeline muda o resultado.

🧪 MINI SIMULADO

1. Qual símbolo cria um pipe?

✅ |.

2. O que > faz?

✅ Redireciona stdout e sobrescreve o arquivo de destino.

3. O que >> faz?

✅ Acrescenta ao final.

4. Em regex, ^ significa?

✅ Início da linha.

5. Em regex, $ significa?

✅ Fim da linha.

6. Em regex, . significa?

✅ Qualquer caractere individual.

7. O shell interpreta *.txt antes de executar ls?

✅ Sim.

8. sort | uniq funciona melhor quando linhas iguais estão adjacentes?

✅ Sim; por isso é comum ordenar antes de uniq.


✅ CHECKLIST DO DIA

  • Sei combinar comandos com pipes
  • Sei redirecionar stdout e stderr
  • Sei diferenciar globbing de regex
  • Entendo ., *, [ ], ^ e $ em regex básica
  • Sei montar pipelines com cut, sort, uniq, grep e wc
  • Consigo explicar o fluxo de dados em um pipeline

📅 Próximo passo — Dia 15

No próximo dia: Editores de texto e primeiros scripts Bash.


📚 Referências

Regra da jornada: não apenas leia os comandos. Digite, observe a saída, provoque erros controlados e tente explicar o comportamento antes de consultar a resposta.

Gostou da leitura?

Conecte-se comigo para acompanhar novas publicações e debater tecnologia.

Entrar em contato