Introduzione al Bash Scripting
Alex Scriven
Data Scientist
Questo corso coprirà:
Per prima cosa, perché Bash?
Bash sta per 'Bourne Again Shell' (un gioco di parole)
Sviluppato negli anni '80, ma ancora molto usato. Predefinito in molti sistemi Unix e Mac
Unix è il motore di internet! (ML, pipeline dati)
Perché fare scripting in Bash?
Per questo corso serve una base minima.
cat, grep, sed, ecc.Se sei arrugginito, nessun problema: ora ripassiamo!
Comandi shell importanti:
(e)grep filtra l'input con pattern regexcat concatena i contenuti dei file riga per rigatail \ head mostrano solo le ultime -n righe (flag)wc conta parole o righe (flag -w -l)sed fa sostituzioni basate su pattern'Regex', o espressioni regolari, sono fondamentali per gli script Bash.
Ti serviranno spesso per filtrare file, dati nei file, confrontare argomenti e altro. Vale la pena ripassarle.
Per testare le regex puoi usare siti utili come regex101.com
Ripassiamo alcuni comandi shell con un esempio.
Considera un file di testo fruits.txt con 3 righe:
banana
apple
carrot
Se esegui grep 'a' fruits.txt otterrai:
banana
apple
carrot
Ma se esegui grep 'p' fruits.txt otterrai:
apple
Ricorda: le parentesi quadre definiscono un set di match, ad es. [eyfv]. Con ^ diventa un set inverso (non queste lettere/numeri).
Quindi, con grep '[pc]' fruits.txt otterresti:
apple
carrot
Probabilmente hai già usato le “pipe” nel terminale. Se il file avesse molte voci, puoi usare sort | uniq -c
wc -l e usare headcat new_fruits.txt | sort | uniq -c | head -n 3
14 apple
13 bannana
12 carrot
Introduzione al Bash Scripting