很多時在寫程式時, 需要將一些數值補零, 例如 1 顯示為 001, 以下是 Shell Script 的實現方法:
Shell Script 的 printf 函式已經可以做到自動補零, 例如想將 8 顯示為 “008”, 可以這樣寫:
|
1 2 3 |
#!/bin/sh printf "%03d" 8 |
除了在數值的前面補零外, 也有一種情況是在小數點補零, 例如數值 “8” 是整數, 但也要強制顯示小數點後一個位, 可以這樣寫:
|
1 2 3 |
#!/bin/sh printf "%1.1f" 8 |
如果想將上面的結果放到變數, 可以這樣寫:
|
1 2 3 4 5 6 |
#!/bin/sh NUM=8; ZERO_NUM=$(printf "%03d" $NUM); echo "$ZERO_NUM" |
上面的程式碼將原來的 $NUM 變數補零, 再放在 $ZERO_NUM 內, 執行結果是 “008”.