研究で0パディングされた0から始まる連番ファイルの読み書きは結構やるんだけれど、 今回はシェルスクリプト版に挑戦。 内部で数列を作るコマンドseqを利用してる。 generate_serial_numbers.sh #!/bin/bash NUM_SERIAL=`expr $1 - 1` for i in `seq -f "%04g" 0 ${NUM_SERIAL}`; do$ echo $i done 桁数4で0パディングされた、コマンドライン引数の1個目の数だけ0から始まる連番が生成されるはず。 seqでは-fオプションを使う事で、Cのprintfにおけるフォーマット指定子に近い事が出来る。 但し、整数形式の指定子はdじゃなくてg。 (大きな整数を使うときは、gではなくて1.fが推奨との事。詳細は参考URLへ) 実行すると、こんな感じ。 ./generate_serial_number
![[シェルスクリプト][seq]引数で指定した回数だけ0から始まる連番数列を生成する(0パディング付)](https://cdn-ak-scissors.b.st-hatena.com/image/square/8d71ff5111e05619a10d29bb40d7aebaa75c8fbc/height=288;version=1;width=512/https%3A%2F%2Fs0.wp.com%2Fi%2Fblank.jpg)