Introductie tot Bash-scripting
Alex Scriven
Data Scientist
Deze cursus behandelt:
Eerst: waarom Bash?
Bash staat voor 'Bourne Again Shell' (een woordgrap)
Ontwikkeld in de jaren 80, nu nog steeds populair. Standaard op veel Unix-systemen en Macs
Unix draait het internet! (ML-modellen, datapijplijnen)
Dus waarom Bash-scripting?
We verwachten basiskennis voor deze cursus.
cat, grep, sed enz.Ben je wat roestig? Geen zorgen, we frissen het nu op!
Belangrijke shellcommando’s:
(e)grep filtert input met regex-patronencat voegt bestandsinhoud regel voor regel samentail \ head geven alleen de laatste -n (een flag) regelswc telt woorden of regels (met flags -w -l)sed vervangt strings op basis van patroonmatching'Regex' of reguliere expressies zijn essentieel voor Bash-scripting.
Je filtert vaak bestanden, data in bestanden, matcht argumenten en meer. Het is goed om dit te herhalen.
Test je regex op sites zoals regex101.com
Laten we wat shellcommando’s herhalen met een voorbeeld.
Neem een tekstbestand fruits.txt met 3 regels:
banana
apple
carrot
Als we grep 'a' fruits.txt draaien, krijgen we:
banana
apple
carrot
Maar met grep 'p' fruits.txt krijg je:
apple
Vierkante haken definiëren een matcheset zoals [eyfv]. Met ^ wordt dit omgekeerd (dus niet deze tekens).
Met grep '[pc]' fruits.txt krijg je:
apple
carrot
Je hebt vast wel eens ‘pipes’ gebruikt in de terminal. Met veel fruitregels kun je sort | uniq -c gebruiken.
wc -l pipen en head gebruikencat new_fruits.txt | sort | uniq -c | head -n 3
14 apple
13 bannana
12 carrot
Introductie tot Bash-scripting