Bashスクリプトで、数字が1桁の場合に先頭にゼロを付加して2桁にする方法はいくつかあります。その中の一つとしてprintfコマンドを使う方法があります。printfはフォーマットに従って文字列を出力するコマンドで、桁数を固定したり、ゼロパディングをしたりするのに非常に便利です。
以下は一つのサンプルコードです。入力された数字をチェックし、1桁の場合は先頭にゼロを付加して2桁にします。
#!/bin/sh
pad_with_zero() {
num=$1
printf "%02d\n" "$num"
}
pad_with_zero 1 # 出力: 01
pad_with_zero 2 # 出力: 02
pad_with_zero 12 # 出力: 12
説明
- スクリプトの先頭
#!/bin/sh
sh(またはbash)シェルでスクリプトを実行するシバン行です。
- 関数の定義
pad_with_zero() {
num=$1
printf "%02d\n" "$num"
}
この関数は、引数として受け取った数字$1を変数numに格納し、printfコマンドを使用して2桁の形式で出力します。%02dは整数として2桁にフォーマットし、必要であればゼロでパディングします。
- 関数の呼び出し
pad_with_zero 1 # 出力: 01
pad_with_zero 2 # 出力: 02
pad_with_zero 12 # 出力: 12
数字を関数に渡して、ゼロパディングされた結果を出力しています。
実行方法
- 上記のスクリプトをテキストファイル(例:
pad_numbers.sh)として保存します。 - ターミナルでスクリプトの実行権限を追加します。
chmod +x pad_numbers.sh
- スクリプトを実行します。
./pad_numbers.sh
このコード例では、数字が2桁に満たない場合、自動的に先頭にゼロが追加されて2桁形式に整えられます。

コメント