1. ホーム
  2. bash

[解決済み] シェルでfor-loopの先頭のゼロを追加する方法は?重複

2022-04-19 06:24:01

質問

基本的な数値のforループがあり、反復するたびに変数numを1ずつ増加させる...。

for (( num=1; num<=5; num++ ))
do
 echo $num
done

どの出力か。

1
2
3
4
5

私は、この出力($numの前に先行するゼロを追加)を生成しようとしています。

01
02
03
04
05

することなく。

echo 0$num

解決方法は?

以下の構文を使用してください。

$ for i in {01..05}; do echo "$i"; done
01
02
03
04
05

免責事項: 先頭のゼロは、以下の場合にのみ機能します。 >=bash-4 .

を使用したい場合 printf その結果を変数に入れ、さらに使用することを妨げるものは何もありません。

$ foo=$(printf "%02d" 5)
$ echo "${foo}"
05