Come posso eseguire molti comandi in un unico ciclo?
Stampare i nomi dei file è utile per il debug, ma il vero scopo dei cicli è fare operazioni su più file. Questo ciclo stampa la seconda riga di ogni file di dati:
for file in seasonal/*.csv; do head -n 2 $file | tail -n 1; done
Ha la stessa struttura degli altri cicli che hai già visto: la sola differenza è che il corpo è una pipeline di due comandi invece di un singolo comando.
Questo esercizio fa parte del corso
Introduzione alla Shell
Istruzioni dell'esercizio
Scrivi un ciclo che stampi l’ultima voce di luglio 2017 (2017-07) in ogni file stagionale. Dovrebbe produrre un output simile a:
grep 2017-07 seasonal/winter.csv | tail -n 1
ma per ogni file stagionale separatamente. Usa file come nome della variabile del ciclo e ricordati di iterare sulla lista di file seasonal/*.csv (invece di 'seasonal/winter.csv' come nell'esempio).
Esercizio pratico interattivo
Passa dalla teoria alla pratica con uno dei nostri esercizi interattivi
Inizia esercizio