Wprowadzenie i powtórzenie

Wprowadzenie do skryptów Bash

Alex Scriven

Data Scientist

Wprowadzenie do kursu

Kurs obejmuje:

  • Przejście z wiersza poleceń do skryptu Bash
  • Zmienne i typy danych w skryptach Bash
  • Instrukcje sterujące
  • Funkcje i automatyzacja skryptów
Wprowadzenie do skryptów Bash

Po co skrypty Bash? (Bash)

Najpierw zastanówmy się, dlaczego Bash?

  • Bash oznacza 'Bourne Again Shell' (gra słów)

  • Powstał w latach 80., ale jest dziś bardzo popularną powłoką. Domyślna w wielu systemach Unix i na Makach

  • Unix to fundament internetu! (modele ML, potoki danych)

    • AWS, Google i Microsoft oferują CLI do swoich produktów
Wprowadzenie do skryptów Bash

Po co skrypty Bash? (skryptowanie!)

Dlaczego warto używać skryptów Bash?

  • Łatwe wykonywanie poleceń powłoki (bez ciągłego kopiowania!)
  • Zaawansowane konstrukcje programistyczne
Wprowadzenie do skryptów Bash

Wymagana wiedza

 

Kurs zakłada podstawową wiedzę w następujących obszarach:

  • Znajomość wiersza poleceń (terminal, powłoka)
  • Używanie podstawowych poleceń, takich jak cat, grep, sed itp.

Jeśli wiedza jest niepewna – nie ma obaw, teraz ją odświeżymy!

Wprowadzenie do skryptów Bash

Powtórzenie poleceń powłoki

Ważne polecenia powłoki:

  • (e)grep filtruje dane wejściowe na podstawie wyrażeń regularnych
  • cat łączy zawartość plików wiersz po wierszu
  • tail \ head zwracają tylko ostatnie/pierwsze -n wierszy (flaga)
  • wc zlicza słowa lub wiersze (flagi -w -l)
  • sed zastępuje ciągi znaków na podstawie wzorców
Wprowadzenie do skryptów Bash

Przypomnienie REGEX

'Regex', czyli wyrażenia regularne, to kluczowa umiejętność w skryptach Bash.

Często trzeba filtrować pliki, dane w plikach, dopasowywać argumenty i wiele więcej. Warto to odświeżyć.

Do testowania wyrażeń regularnych można używać pomocnych narzędzi, takich jak regex101.com

Wprowadzenie do skryptów Bash

Ćwiczenia z powłoką

Przejdźmy przez kilka poleceń powłoki na przykładzie.

Rozważmy plik tekstowy fruits.txt z 3 wierszami danych:

banana
apple
carrot

Jeśli uruchomimy grep 'a' fruits.txt, otrzymamy:

banana
apple
carrot
Wprowadzenie do skryptów Bash

Ćwiczenia z powłoką

Ale jeśli uruchomimy grep 'p' fruits.txt, otrzymamy:

apple

Nawiasy kwadratowe definiują zbiór dopasowań, np. [eyfv]. Użycie ^ tworzy zbiór odwrotny (nie te litery/cyfry).

Tak więc grep '[pc]' fruits.txt zwróci:

apple
carrot
Wprowadzenie do skryptów Bash

Ćwiczenia z powłoką

Potoki (ang. pipes) są zapewne już znane. Przy dużej liczbie owoców w pliku możemy użyć sort | uniq -c

  • Pierwsze polecenie sortuje alfabetycznie, drugie zlicza wystąpienia
  • Aby uzyskać n najczęstszych owoców, można dołączyć wc -l i head
cat new_fruits.txt | sort | uniq -c | head -n 3
  14 apple
  13 bannana
  12 carrot
Wprowadzenie do skryptów Bash

Czas na ćwiczenia!

Wprowadzenie do skryptów Bash

Preparing Video For Download...