1. 学ぶ
  2. /
  3. コース
  4. /
  5. Shell 入門

Connected

演習

各ファイルに対してコマンドを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つのファイル名のリストに展開するためです。

指示

100 XP

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