for文で 回す数字を0で埋めたり詰めたりする。

0で埋めない

0から23までをfor文で回す場合、何も考えなければ

% for i in $(seq 0 23);do echo $i;done
0
1
2
3
(...)
22
23

とやれば良い。

0で埋める

けど、一桁目は0で埋めて00,01,02 みたいにしたいよねという場合も結構ある。
そんな時はこうする。

% for i in $(seq 0 23);do i=`printf %02d $i` ;echo $i;done
00
01
02
03
(...)
22
23