0 から 9 までの数字が常に 0...9 ではなく 00...09 で表示される新しい変数を作成しようとしています。以下は、POC目的で実際のコマンドを使用していないテストです。
for i in {00..23}; do hourPlus=$((i+1)); echo $i $hourPlus; done
任意の出力:
00 1
01 2
02 3
03 4
04 5
05 6
06 7
07 8
08 9
09 10
10 11
11 12
12 13
13 14
14 15
15 16
16 17
17 18
18 19
19 20
20 21
21 22
22 23
23 24
しかし、私が期待するものは次のとおりです。
00 01
01 02
02 03
03 04
04 05
05 06
06 07
07 08
08 09
09 10
10 11
11 12
12 13
13 14
14 15
15 16
16 17
17 18
18 19
19 20
20 21
21 22
22 23
23 24
私のforループで期待どおりに動作させる方法を知っている人はいますか?
ベストアンサー1
以下はあなたのための機能です:
two_digits_zero_fill ()
{
# print the number as a string with a leading zero
printf '%02d\n' "$1"
}
より一般的なケースは次のとおりです。
leading_zero_fill ()
{
# print the number as a string with a given number of leading zeros
printf "%0$1d\\n" "$2"
}
後者の使用法:
number=7
leading_zero_fill 3 "$number"
以下を印刷します。
007