1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

0で揃えた連番を生成したい時

Posted at

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

これで完了です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?