簡體   English   中英

Bash循環中的零填充數

[英]Zero padding numbers in a Bash loop

我正在嘗試使用簡單的bash循環創建一個列表

我要這個:

000000
000001
000002

他們給我這個:

0
1
2

我的shell代碼:

countBEG="000000"
countEND="999999"


while [ $countBEG != $countEND ]
do
        echo "$countBEG"
        countBEG=$[$countBEG +1]
done

更改echo以使用printf,您可以在其中指定左邊距的格式。

printf "%06d\n" "$countBEG"

這將6設置為輸出的固定長度,使用零填充空白區域。

以下命令將產生所需的輸出(不需要循環):

printf '%06d\n' {1..999999}

說明:

  • 通過bash將{1..999999}擴展為1到999999的序列
  • 格式字符串'%06d\\n'告訴printf顯示它作為參數填充為6位數后的數字,然后是換行符
  • 如果給出的參數多於其格式規范中定義的參數, printf重復此輸出

您正在尋找:

seq -w "$countBEG" "$countEND"

-w選項執行填充。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM