コマンドラインでファイル名を連番付きにする。
特定のディレクトリにあるファイルを連番付きのファイル名に変更したい場合は"printf"コマンドを使用する。
連番のフォーマットは桁数が決まっていて、桁数に達しないときは足りない桁は0で埋める。
例) 3桁の連番
・1 → 001
・23 →023
・156 →156
のように出力したい場合は
printf "%03d" 12
とすると"012"となる。4桁にしたい場合は"%04d"とする。
ディレクトリ以下のjpegファイルをPAGE_001.jpgから連番付きファイル名にするには以下のようなshell scriptを実行する。
#!/bin/bash
if [ "$1" = "" ]; then
startnum=1
else
startnum=$1
fibasefilename="PAGE_"
mkdir -p tmp
for f in *.jpg
do
filenum=`printf "%03d" $startnum`
cp "$f" tmp/${basefilename}${filenum}.jpg
let startnum=startnum+1
done
引数に開始番号を指定する。指定しないときはPAGE_001.jpgから始まるjpgファイルがtmpディレクトリに格納される。