Вступ до Bash Scripting
Alex Scriven
Data Scientist
У цьому курсі ви вивчите:
Спершу розберімося, чому саме Bash?
Bash — це 'Bourne Again Shell' (гра слів)
Розроблений у 80-х, але й нині дуже популярний. Типово встановлений у багатьох Unix-системах і на Mac
Unix — основа інтернету! (запуск ML-моделей, конвеєри даних)
То навіщо Bash-скрипти?
Для цього курсу очікуються базові знання.
cat, grep, sed тощоЯкщо підзабули — не хвилюйтеся, зараз повторимо!
Деякі важливі команди оболонки:
(e)grep фільтрує вхід за збігом з regex-патерномcat зшиває вміст файлів пострічковоtail \ head повертають останні/перші рядки -n (прапорець)wc рахує слова або рядки (прапорці -w -l)sed виконує заміну рядків за зразком«Regex» або регулярні вирази — важлива навичка для Bash-скриптингу.
Часто потрібно фільтрувати файли, дані в файлах, зіставляти аргументи тощо. Варто це пригадати.
Щоб тестувати regex, скористайтеся корисними сайтами на кшталт regex101.com
Давайте повторимо команди оболонки на прикладі.
Маємо текстовий файл fruits.txt із 3 рядками даних:
banana
apple
carrot
Якщо запустити grep 'a' fruits.txt, отримаємо:
banana
apple
carrot
А якщо запустити grep 'p' fruits.txt, отримаємо:
apple
Нагадаємо: квадратні дужки — це множина для збігу, як-от [eyfv]. Символ ^ робить її інверсною (тобто НЕ ці літери/числа)
Тож, якщо виконати grep '[pc]' fruits.txt, отримаємо:
apple
carrot
Ви, ймовірно, вже використовували «пайпи» в терміналі. Якщо у файлі дуже багато фруктів, можна застосувати sort | uniq -c
wc -l і використайте headcat new_fruits.txt | sort | uniq -c | head -n 3
14 apple
13 bannana
12 carrot
Вступ до Bash Scripting