min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

bash for文で変数に代入した値をゼロ埋め(ゼロパディング)する

f:id:min117:20190629232336p:plain

 

素晴らしい記事発見。

genzouw.com

 

例えばfor文ではseq -w を使えばゼロ埋めした連続文字列を作れることは知っていた。

$ for i in `seq -w 1 10`; do echo "$i"; done

f:id:min117:20190629231606p:plain

 

しかしこれ(seqを使う方法)だと、for文に食わせる文字列が連続していない場合はゼロ埋めできない。

f:id:min117:20190629231742p:plain

 

これがprintf文で解決できるとは。知らなかった。

f:id:min117:20190629231910p:plain

 

 

 

やってみる。

$ for i in 1 300 20; do printf "%03d\n" "${i}"; done

f:id:min117:20190629232114p:plain

カンペキ。

 

これは応用効く。bash素晴らしい。Linux最高。