aaaa

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

説明

  1. スクリプトの先頭
   #!/bin/sh

sh(またはbash)シェルでスクリプトを実行するシバン行です。

  1. 関数の定義
   pad_with_zero() {
     num=$1
     printf "%02d\n" "$num"
   }

この関数は、引数として受け取った数字$1を変数numに格納し、printfコマンドを使用して2桁の形式で出力します。%02dは整数として2桁にフォーマットし、必要であればゼロでパディングします。

  1. 関数の呼び出し
   pad_with_zero 1   # 出力: 01
   pad_with_zero 2   # 出力: 02
   pad_with_zero 12  # 出力: 12

数字を関数に渡して、ゼロパディングされた結果を出力しています。

実行方法

  1. 上記のスクリプトをテキストファイル(例:pad_numbers.sh)として保存します。
  2. ターミナルでスクリプトの実行権限を追加します。
   chmod +x pad_numbers.sh
  1. スクリプトを実行します。
   ./pad_numbers.sh

このコード例では、数字が2桁に満たない場合、自動的に先頭にゼロが追加されて2桁形式に整えられます。

コメント

タイトルとURLをコピーしました