始める無料で始める

各ファイルに対してコマンドを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 を使ってください。

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

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

演習を開始する