Hur gör man många saker i en enda loop?
De loopar du har sett hittills har alla haft ett enda kommando eller en enda pipeline i sin kropp, men en loop kan innehålla valfritt antal kommandon. För att tala om för skalet var ett kommando slutar och nästa börjar måste du separera dem med semikolon:
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
Anta att du glömmer semikolonet mellan kommandona echo och head i föregående loop,
så att du ber skalet köra:
for f in seasonal/*.csv; do echo $f head -n 2 $f | tail -n 1; done
Vad kommer skalet att göra?
Den här övningen är en del av kursen
Introduktion till Shell
Interaktiv övning med praktiskt arbete
Gör teori till handling med en av våra interaktiva övningar
Starta övningen