カウンターをインクリメントし、数値の末尾4桁を取り出す
桁が少ないときは 0 で埋める
12 ⇒ 0012
12345 ⇒ 2345
# 1インクリメント ((COUNT++)) # 後ろ4桁を取り出す tmp=000$COUNT; NUM=${tmp: -4} echo $NUM
おわり
インクリメント
今まではこう書いてたが、ちょっと無駄があった
COUNT=$((COUNT + 1))
4桁の取り出し
意図の分かりやすい書き方は
NUM=$(printf '%04d' $(($COUNT % 10000)))
ただ、これはサブプロセスが起動してしまうのでよくない
printf -v NUM '%04d' $(($COUNT % 10000))
これならよし
NUM=$(sed -E 's/.*(....)/\1/' <<< "000$COUNT")
sedはスマートさもないし全然ダメだった