Introducere în Bash Scripting
Alex Scriven
Data Scientist
Acest curs acoperă:
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)
Deci, de ce scripting Bash?
Sunt necesare cunoștințe de bază pentru acest curs.
cat, grep, sed etc.Dacă ați uitat, nu vă faceți griji – le vom recapitula acum!
Câteva comenzi shell importante:
(e)grep filtrează intrarea pe baza unui pattern regexcat concatenează conținutul fișierelor linie cu linietail \ head returnează ultimele/primele -n liniiwc numără cuvintele sau liniile (cu flag-urile -w -l)sed înlocuiește șiruri pe bază de pattern'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
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
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
Probabil ați folosit „pipe-uri" în terminal. Dacă fișierul ar conține multe fructe, am putea folosi sort | uniq -c
wc -l și headcat new_fruits.txt | sort | uniq -c | head -n 3
14 apple
13 bannana
12 carrot
Introducere în Bash Scripting