01 / 08
数が決まっていないとき
for は「並んでいるもの」を回したね。
for F in *.txt; do … done ファイルの数だけfor N in $(seq 1 5); do … done 5回どちらも始める前に回数が決まっているでしょう。
でも、こういうときはどうしよう。
ファイルの中身が終わるまで、1行ずつ読みたい空きが 90% を下回るまで、待ちたい回数が分からないね。こういうときは while を使うんだ。
while 条件; do やることdone読み方は「条件が成り立つあいだ、繰り返す」だよ。
for 並んでいるものを、順にwhile 条件が続くあいだ、ずっと今日はもう1つ、大事な道具を覚えるよ。
while read L; do echo "[$L]"done < hyou.txtread は1行読むコマンドだよ。これと while を組み合わせると、行を1行ずつ、正しく扱えるようになるんだ。
実はこれ、for ではきれいにできないことなんだよ。理由はあとで見るね。