Comece agoraComece grátis

Como posso fazer várias coisas em um único loop?

Todos os loops que você viu até agora têm um único comando ou pipeline no corpo, mas um loop pode conter qualquer número de comandos. Para dizer ao shell onde um termina e o outra começa, você deve separá-los com ponto e vírgula:

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

Suponha que você tenha esquecido o ponto e vírgula entre os comandos echo e head no loop anterior, e pedisse para o shell executar:

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

O que o shell faria?

Este exercicio faz parte do curso

Introdução ao Shell

Ver curso

exercicio interativo prático

Transforme teoria em prática com um dos nossos exercicio interativos

Iniciar exercicio