フォルダを作成して、その中に何か入れるとかする場合、普通に1〜20とかを指定すると
1,10,2,20,3,4〜
というように並んじゃったり、見た目があまりよろしくない場合があります。
seqを使ったfor文だとそうなっちゃいますよね。
for FIGURE in `seq 1 10`
do
echo "${FIGURE}"
done
そこで、1桁でも、01〜09と、0を付けて桁を揃えるようにします。
方法は、seqに-fオプションを付けて、指定をちょっと変えるだけ
seq -f %[桁数]g [最初の数] [最後の数]
例えば、2桁で1から10までの数字を生成する時は、こう。
seq -f %02g 1 10
こんな感じで書きます。
#!/bin/bash
# 普通seqを使ったfor文
echo "seq 1 10を使った普通のfor文"
for FIGURE in `seq 1 10`
do
echo "${FIGURE}"
done
# seq -fで2桁数字を作って、forで回していく
echo "seq -fで2桁数字を作って、forで回していく"
for _3FIGURE in `seq -f %02g 1 10`
do
echo "${_3FIGURE}"
done
これを実行すると、こうなる
seq 1 10を使った普通のfor文
1
2
3
4
5
6
7
8
9
10
seq -fで2桁数字を作って、forで回していく
01
02
03
04
05
06
07
08
09
10
このシーズン、来年に向けて1月から12月まで、2桁でそろったフォルダとかを作る時に便利。