始める無料で始める

各ファイルに対してコマンドを1回ずつ繰り返すにはどうすればよいでしょうか?

ループを書くときに処理したいファイル名を直接指定することもできますが、通常はワイルドカードを使う方が便利です。 コンソールで次のループを実行してみましょう。

for filename in seasonal/*.csv; do echo $filename; done

出力は次のとおりです。

seasonal/autumn.csv
seasonal/spring.csv
seasonal/summer.csv
seasonal/winter.csv

これは、ループを実行する前にシェルが seasonal/*.csv を4つのファイル名のリストに展開するためです。

この演習はコースの一部です

Shell 入門

コースを見る

演習の手順

ワイルドカード式を people/* に変更して、ループが people ディレクトリ内のファイル名を、拡張子の有無に関係なくすべて表示するようにしましょう。 ループ変数の名前には filename を使用してください。

実践的なインタラクティブ演習

理論を実践に変える、インタラクティブな演習のひとつをお試しください

演習を開始する