1つのループで多くのコマンドをどう実行しますか?
ファイル名を表示するのはデバッグに便利ですが、ループの本当の目的は複数ファイルに対して処理を行うことです。 次のループは、各データファイルの2行目を表示します:
for file in seasonal/*.csv; do head -n 2 $file | tail -n 1; done
これまで見てきた他のループと同じ構造で、異なるのは本体が1つのコマンドではなく2つのコマンドからなるパイプラインになっている点だけです。
この演習はコースの一部です
Shell 入門
演習の手順
各 seasonal ファイルごとに、2017年7月(2017-07)の最後の行を表示するループを書いてください。出力は次のようなものに近くなるはずです:
grep 2017-07 seasonal/winter.csv | tail -n 1
ただし、seasonal ファイルをそれぞれ個別に処理します。ループ変数の名前は file を使い、例のような 'seasonal/winter.csv' ではなく、seasonal/*.csv というファイル一覧に対してループすることを忘れないでください。
