Introducere și recapitulare

Introducere în Bash Scripting

Alex Scriven

Data Scientist

Introducere în curs

Acest curs acoperă:

  • Trecerea de la linia de comandă la un script Bash
  • Variabile și tipuri de date în Bash
  • Instrucțiuni de control
  • Funcții și automatizarea scripturilor
Introducere în Bash Scripting

De ce scripting Bash? (Bash)

De ce Bash?

  • Bash înseamnă 'Bourne Again Shell' (un joc de cuvinte)

  • Dezvoltat în anii '80, dar foarte popular astăzi. Shell implicit în multe sisteme Unix și Mac

  • Unix stă la baza internetului! (modele ML, pipeline-uri de date)

    • AWS, Google, Microsoft oferă CLI-uri pentru produsele lor
Introducere în Bash Scripting

De ce scripting Bash? (scripting!)

Deci, de ce scripting Bash?

  • Executarea ușoară a comenzilor shell (fără copy-paste de fiecare dată!)
  • Construcții de programare puternice
Introducere în Bash Scripting

Cunoștințe necesare

 

Sunt necesare cunoștințe de bază pentru acest curs.

  • Înțelegerea liniei de comandă (terminal, shell)
  • Utilizarea unor comenzi de bază precum cat, grep, sed etc.

Dacă ați uitat, nu vă faceți griji – le vom recapitula acum!

Introducere în Bash Scripting

Recapitulare comenzi shell

Câteva comenzi shell importante:

  • (e)grep filtrează intrarea pe baza unui pattern regex
  • cat concatenează conținutul fișierelor linie cu linie
  • tail \ head returnează ultimele/primele -n linii
  • wc numără cuvintele sau liniile (cu flag-urile -w -l)
  • sed înlocuiește șiruri pe bază de pattern
Introducere în Bash Scripting

Recapitulare REGEX

'Regex' sau expresiile regulate sunt esențiale în scripting Bash.

Veți filtra adesea fișiere, date, argumente și altele. Merită să le revizuiți.

Puteți testa regex-ul pe site-uri precum regex101.com

Introducere în Bash Scripting

Practică în shell

Să revizuim câteva comenzi shell printr-un exemplu.

Considerați un fișier text fruits.txt cu 3 linii de date:

banana
apple
carrot

Dacă rulăm grep 'a' fruits.txt, vom obține:

banana
apple
carrot
Introducere în Bash Scripting

Practică în shell

Dar dacă rulăm grep 'p' fruits.txt, vom obține:

apple

Parantezele pătrate definesc un set de potrivire, ex. [eyfv]. Cu ^, setul devine inversul (nu acele litere/cifre)

Astfel, grep '[pc]' fruits.txt returnează:

apple
carrot
Introducere în Bash Scripting

Practică în shell

Probabil ați folosit „pipe-uri" în terminal. Dacă fișierul ar conține multe fructe, am putea folosi sort | uniq -c

  • Prima comandă sortează alfabetic, a doua numără aparițiile
  • Pentru primele n fructe, putem adăuga wc -l și head
cat new_fruits.txt | sort | uniq -c | head -n 3
  14 apple
  13 bannana
  12 carrot
Introducere în Bash Scripting

Să exersăm!

Introducere în Bash Scripting

Preparing Video For Download...