Como posso executar vários comandos em um único loop?
Imprimir nomes de arquivos é útil para depuração, mas o verdadeiro objetivo dos loops é fazer coisas com vários arquivos. Esse loop imprime a segunda linha de cada arquivo de dados:
for file in seasonal/*.csv; do head -n 2 $file | tail -n 1; done
Ele tem a mesma estrutura dos outros loops que você já viu: a única diferença é que o corpo é um pipeline de dois comandos em vez de um único comando.
Este exercício faz parte do curso
Introdução ao Shell
Instruções do exercício
Escreva um loop que imprima a última entrada de julho de 2017 (2017-07
) em cada arquivo sazonal. Ele deve produzir um resultado semelhante a:
grep 2017-07 seasonal/winter.csv | tail -n 1
mas para cada arquivo sazonal separadamente. Use file
como o nome da variável de loop e lembre-se de percorrer a lista de arquivos seasonal/*.csv
(em vez de 'seasonal/winter.csv', como no exemplo).
Exercício interativo prático
Transforme a teoria em ação com um de nossos exercícios interativos
