ゼロパディングの方法

Nid: 900

固定桁数にするために、数値をゼロ埋めする方法です。

 

printf を使用して、コマンドラインでゼロパディング

# 入力データ

$ cat input.txt
3
200
70
1234
0

# 実行結果

$ cat input.txt | while read line; do printf "%04d\n" $line; done
0003
0200
0070
1234
0000

 

ゼロパディングの正規表現

CMSのインポーターなど printf がない環境で使用します。

入力データ

$ cat input.txt
3
200
70
1234
0

sed を使用して8桁に変換する例。7つの0を前に追加して、後ろから8桁分だけ取り出しています。

$ sed 's/^[0-9]\+$/0000000&/g;s/0*\([0-9]\{8,\}\)$/\1/g' input.txt
00000003
00000200
00000070
00001234
00000000