Úvod do Bash skriptování
Alex Scriven
Data Scientist
Kurz zahrnuje:
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)
Proč tedy Bash skriptování?
Pro tento kurz jsou předpokládány základní znalosti.
cat, grep, sed apod.Pokud si nejste jisti, nevadí – nyní si vše zopakujeme!
Důležité shellové příkazy:
(e)grep filtruje vstup na základě porovnávání regex vzorůcat spojuje obsah souborů řádek po řádkutail \ 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ů'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
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
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
Roury (pipes) jste pravděpodobně již používali. Pokud by soubor obsahoval mnoho ovoce, lze použít sort | uniq -c
wc -l a headcat new_fruits.txt | sort | uniq -c | head -n 3
14 apple
13 bannana
12 carrot
Úvod do Bash skriptování