Вступ і повторення

Вступ до Bash Scripting

Alex Scriven

Data Scientist

Вступ до курсу

У цьому курсі ви вивчите:

  • Перехід від командного рядка до Bash-скрипту
  • Змінні та типи даних у Bash-скриптах
  • Керувальні інструкції
  • Функції та автоматизація скриптів
Вступ до Bash Scripting

Навіщо Bash-скрипти? (Bash)

Спершу розберімося, чому саме Bash?

  • Bash — це 'Bourne Again Shell' (гра слів)

  • Розроблений у 80-х, але й нині дуже популярний. Типово встановлений у багатьох Unix-системах і на Mac

  • Unix — основа інтернету! (запуск ML-моделей, конвеєри даних)

    • AWS, Google, Microsoft мають CLI до своїх продуктів
Вступ до Bash Scripting

Навіщо Bash-скрипти? (скрипти!)

То навіщо Bash-скрипти?

  • Легкий запуск команд оболонки (без копіювання-вставлення щоразу!)
  • Потужні програмні конструкції
Вступ до Bash Scripting

Необхідні знання

 

Для цього курсу очікуються базові знання.

  • Розуміти, що таке командний рядок (термінал, оболонка)
  • Користуватися базовими командами: cat, grep, sed тощо

Якщо підзабули — не хвилюйтеся, зараз повторимо!

Вступ до Bash Scripting

Повторення команд оболонки

Деякі важливі команди оболонки:

  • (e)grep фільтрує вхід за збігом з regex-патерном
  • cat зшиває вміст файлів пострічково
  • tail \ head повертають останні/перші рядки -n (прапорець)
  • wc рахує слова або рядки (прапорці -w -l)
  • sed виконує заміну рядків за зразком
Вступ до Bash Scripting

Нагадування про REGEX

«Regex» або регулярні вирази — важлива навичка для Bash-скриптингу.

Часто потрібно фільтрувати файли, дані в файлах, зіставляти аргументи тощо. Варто це пригадати.

Щоб тестувати regex, скористайтеся корисними сайтами на кшталт regex101.com

Вступ до Bash Scripting

Трохи практики з оболонкою

Давайте повторимо команди оболонки на прикладі.

Маємо текстовий файл fruits.txt із 3 рядками даних:

banana
apple
carrot

Якщо запустити grep 'a' fruits.txt, отримаємо:

banana
apple
carrot
Вступ до Bash Scripting

Трохи практики з оболонкою

А якщо запустити grep 'p' fruits.txt, отримаємо:

apple

Нагадаємо: квадратні дужки — це множина для збігу, як-от [eyfv]. Символ ^ робить її інверсною (тобто НЕ ці літери/числа)

Тож, якщо виконати grep '[pc]' fruits.txt, отримаємо:

apple
carrot
Вступ до Bash Scripting

Трохи практики з оболонкою

Ви, ймовірно, вже використовували «пайпи» в терміналі. Якщо у файлі дуже багато фруктів, можна застосувати sort | uniq -c

  • Перша команда відсортує за абеткою, друга підрахує повтори
  • Щоб отримати топ n фруктів, пропустіть через wc -l і використайте head
cat new_fruits.txt | sort | uniq -c | head -n 3
  14 apple
  13 bannana
  12 carrot
Вступ до Bash Scripting

Давайте потренуємось!

Вступ до Bash Scripting

Preparing Video For Download...