Як запустити багато команд в одному циклі?
Друкувати назви файлів корисно для налагодження, але справжня мета циклів — виконувати дії з багатьма файлами. Ось цикл, що виводить другий рядок кожного файла з даними:
for file in seasonal/*.csv; do head -n 2 $file | tail -n 1; done
Він має ту саму структуру, що й інші цикли, які ви вже бачили: єдина відмінність у тому, що його тіло — це конвеєр із двох команд, а не одна команда.
Ця вправа є частиною курсу
Вступ до Shell
Інструкції до вправи
Напишіть цикл, який виводить останній запис за липень 2017 (2017-07) у кожному сезонному файлі. Він має давати схожий результат на:
grep 2017-07 seasonal/winter.csv | tail -n 1
але окремо для кожного сезонного файла. Використайте file як імʼя змінної циклу та не забудьте ітеруватися списком файлів seasonal/*.csv (замість 'seasonal/winter.csv', як у прикладі).
Практична інтерактивна вправа
Перетворіть теорію на практику за допомогою однієї з наших інтерактивних вправ
Почати вправу