000、001、002、003...100と手打ちはしたくない。
時々、0で桁数を揃えて(パディング)処理を行う、という作業が必要になります。
20個くらいなら気軽に手打ちで頑張ろうとも思いますが、100個を超えるとなかなか大変です。
しかし、ディレクトリ作成やファイル処理など意外と使います。
わかっていないなりに、 for i in {0..100}
で連番を生成したのちprintf %03d ${i}
とやっていたのですが、
もっとスマートな書き方があると教わったので書き残したいと思います。
連番を生成するseqコマンド
まずはエクセルでドラックして作った連番を貼り付ける、なんてことはせず、コマンドで連番生成の方法から。
大変便利なseqコマンドを紹介します。
seqコマンドは基本的に初めの数値と終わりの数値を指定するだけのシンプルなコマンドです。
seq01.sh
seq 1 10
#出力結果
1
2
3
4
5
6
7
8
9
10
嬉しいのは、1行につき1つの値なので、改行処理などを行わなくていいことです。
整数だけでなく小数も可能ですし、昇順・降順も指定可能です。
活用例
冒頭でもお話しした通り、連番のディレクトリが必要になることがあります。
その時のコマンドは下記の通りです。
make100dir.sh
for n in `seq -f %03g 1 100`; do mkdir hoge${n}; done
これで完了です。