НачатьНачать бесплатно

Как выполнить несколько команд в одном цикле?

Вывод имён файлов полезен для отладки, но главная цель циклов — обрабатывать сразу несколько файлов. Этот цикл выводит вторую строку каждого файла с данными:

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', как в примере).

Практическое интерактивное упражнение

Превратите теорию в практику с помощью одного из наших интерактивных упражнений

Начать упражнение