Introdução e revisão

Introdução ao Bash Scripting

Alex Scriven

Data Scientist

Introdução ao curso

Este curso vai abordar:

  • Migrar do terminal para um script Bash
  • Variáveis e tipos de dados em Bash
  • Estruturas de controle
  • Funções e automação de scripts
Introdução ao Bash Scripting

Por que Bash scripting? (Bash)

Primeiro, por que Bash?

  • Bash vem de "Bourne Again Shell" (trocadilho)

  • Criado nos anos 80 e ainda muito popular. Padrão em muitos sistemas Unix e Macs

  • Unix é a internet! (execução de modelos de ML, pipelines de dados)

    • AWS, Google e Microsoft têm CLIs para seus produtos
Introdução ao Bash Scripting

Por que Bash scripting? (scripting!)

Então, por que Bash scripting?

  • Facilita executar comandos do shell (sem copiar e colar sempre!)
  • Construções de programação poderosas
Introdução ao Bash Scripting

Conhecimentos esperados

 

Espera-se algum conhecimento básico para este curso.

  • Entender o que é a linha de comando (terminal, shell)
  • Já ter usado comandos como cat, grep, sed etc.

Se estiver enferrujado, tudo bem — vamos revisar agora!

Introdução ao Bash Scripting

Revisão de comandos do shell

Alguns comandos importantes do shell:

  • (e)grep filtra a entrada por correspondência de regex
  • cat concatena o conteúdo de arquivos linha a linha
  • tail \ head mostram apenas as últimas -n (uma flag) linhas
  • wc conta palavras ou linhas (com flags -w -l)
  • sed faz substituição de strings por padrão
Introdução ao Bash Scripting

Um lembrete sobre REGEX

"Regex" ou expressões regulares são essenciais para Bash scripting.

Você vai filtrar arquivos, dados em arquivos, casar argumentos e muito mais. Vale revisar.

Para testar suas regex, use sites como regex101.com

Introdução ao Bash Scripting

Um pouco de prática no shell

Vamos revisar comandos do shell com um exemplo.

Considere o arquivo fruits.txt com 3 linhas:

banana
apple
carrot

Se rodarmos grep 'a' fruits.txt, teremos:

banana
apple
carrot
Introdução ao Bash Scripting

Um pouco de prática no shell

Mas se rodarmos grep 'p' fruits.txt, teremos:

apple

Lembre que colchetes definem um conjunto, como [eyfv]. Usar ^ inverte o conjunto (não essas letras/números)

Então, se rodarmos grep '[pc]' fruits.txt, teremos:

apple
carrot
Introdução ao Bash Scripting

Um pouco de prática no shell

Você provavelmente já usou "pipes" no terminal. Se o arquivo tiver muitas frutas, podemos usar sort | uniq -c

  • O primeiro ordena alfabeticamente; o segundo faz a contagem
  • Para pegar as top n frutas, podemos encadear com wc -l e usar head
cat new_fruits.txt | sort | uniq -c | head -n 3
  14 apple
  13 bannana
  12 carrot
Introdução ao Bash Scripting

Vamos praticar!

Introdução ao Bash Scripting

Preparing Video For Download...