次の新しい回答%08.0f

次の新しい回答%08.0f

数字にゼロを埋めようとします。

a=010
printf "%04d" $a
0008

値を変換する「0010」は「出力」が必要です。

組版も試しましたが

a=010
typeset -RZ2 a
echo $a

私のスクリプトで同じものを使用すると、次のエラーが発生します。

Invalid -R option

ベストアンサー1

数字の先頭に「0」を入れないでください。数値は次のように処理されます。8進数によると。 10 進数を指定します。

a=10    
printf "%04d" $a    
0010    

他の場所で数字を読み取る場合は、次のように前のゼロを削除することをお勧めします。

a=0010    
b=$(echo $a | sed 's/^0*//')    
printf "%04d" $a    
0008
printf "%04d" $b    
0010    

おすすめ記事