Aan de slagGa gratis aan de slag

Hoe kan ik veel dingen doen in één enkele loop?

De loops die je tot nu toe hebt gezien hebben allemaal één enkele opdracht of pipeline in hun body, maar een loop kan elk aantal opdrachten bevatten. Om de shell te vertellen waar de ene eindigt en de volgende begint, moet je ze scheiden met puntkomma's:

for f in seasonal/*.csv; do echo $f; head -n 2 $f | tail -n 1; done
seasonal/autumn.csv
2017-01-05,canine
seasonal/spring.csv
2017-01-25,wisdom
seasonal/summer.csv
2017-01-11,canine
seasonal/winter.csv
2017-01-03,bicuspid

Stel dat je de puntkomma tussen de opdrachten echo en head in de vorige loop vergeet, waardoor je de shell vraagt om het volgende uit te voeren:

for f in seasonal/*.csv; do echo $f head -n 2 $f | tail -n 1; done

Wat zal de shell doen?

Deze oefening maakt deel uit van de cursus

Introductie tot de shell

Cursus bekijken

Praktische interactieve oefening

Zet theorie om in actie met een van onze interactieve oefeningen.

Begin met trainen