Úvod a opakování

Úvod do Bash skriptování

Alex Scriven

Data Scientist

Úvod do kurzu

Kurz zahrnuje:

  • Přechod z příkazového řádku na Bash skript
  • Proměnné a datové typy v Bash skriptování
  • Řídicí příkazy
  • Funkce a automatizace skriptů
Úvod do Bash skriptování

Proč Bash skriptování? (Bash)

Proč Bash?

  • Bash znamená 'Bourne Again Shell' (slovní hříčka)

  • Vyvíjen od 80. let, dnes velmi populární shell. Výchozí v mnoha Unix systémech a na Macu

  • Unix pohání internet! (ML modely, datové pipeline)

    • AWS, Google i Microsoft mají CLI pro své produkty
Úvod do Bash skriptování

Proč Bash skriptování? (skriptování!)

Proč tedy Bash skriptování?

  • Snadné spouštění shellových příkazů (bez opakovaného kopírování!)
  • Výkonné programovací konstrukty
Úvod do Bash skriptování

Předpokládané znalosti

 

Pro tento kurz jsou předpokládány základní znalosti.

  • Znalost příkazového řádku (terminálu, shellu)
  • Zkušenost se základními příkazy jako cat, grep, sed apod.

Pokud si nejste jisti, nevadí – nyní si vše zopakujeme!

Úvod do Bash skriptování

Přehled shellových příkazů

Důležité shellové příkazy:

  • (e)grep filtruje vstup na základě porovnávání regex vzorů
  • cat spojuje obsah souborů řádek po řádku
  • tail \ head zobrazí posledních / prvních -n (přepínač) řádků
  • wc počítá slova nebo řádky (přepínače -w -l)
  • sed provádí náhradu řetězců na základě vzorů
Úvod do Bash skriptování

Připomenutí REGEX

'Regex' neboli regulární výrazy jsou klíčovou dovedností pro skriptování v Bashi.

Často budete potřebovat filtrovat soubory, data v souborech, porovnávat argumenty a mnoho dalšího. Stojí za to si to zopakovat.

Regex lze testovat na užitečných stránkách jako regex101.com

Úvod do Bash skriptování

Práce s shellem

Zopakujeme si shellové příkazy na příkladu.

Uvažujme textový soubor fruits.txt se 3 řádky dat:

banana
apple
carrot

Příkaz grep 'a' fruits.txt vrátí:

banana
apple
carrot
Úvod do Bash skriptování

Práce s shellem

Příkaz grep 'p' fruits.txt vrátí:

apple

Hranové závorky definují množinu znaků, např. [eyfv]. Znak ^ tuto množinu invertuje (ne tato písmena/čísla).

Příkaz grep '[pc]' fruits.txt vrátí:

apple
carrot
Úvod do Bash skriptování

Práce s shellem

Roury (pipes) jste pravděpodobně již používali. Pokud by soubor obsahoval mnoho ovoce, lze použít sort | uniq -c

  • První příkaz seřadí abecedně, druhý provede počítání
  • Pro zobrazení prvních n ovoce lze dále použít wc -l a head
cat new_fruits.txt | sort | uniq -c | head -n 3
  14 apple
  13 bannana
  12 carrot
Úvod do Bash skriptování

Pojďme procvičovat!

Úvod do Bash skriptování

Preparing Video For Download...