Categories: shellscript

シェルスクリプトのprintfコマンドを使いこなそう

シェルスクリプトで出力を自在に制御できるコマンドとしてprintf コマンドがあります。特に複雑な出力形式が必要な場合に重宝します。

本記事では、シェルスクリプトにおけるprintf コマンドの基本から応用までを詳しく解説します。

printfコマンドの基本

printfコマンドは、指定されたフォーマットに従ってデータを整形して出力します。基本的な構文は次の通りです。

printf "フォーマット文字列" [引数...]

例えば、以下のように使用します。

#!/bin/bash

printf "Hello, World!\n"

このスクリプトは、printfコマンドを使って「Hello, World!」というメッセージを出力します。\nは改行文字で、出力の後に改行を追加します。

フォーマット指定子の使い方

printfコマンドでは、フォーマット指定子を使って出力の形式を指定できます。主なフォーマット指定子には以下のようなものがあります。

  • %s – 文字列
  • %d – 整数
  • %f – 浮動小数点数
  • %x – 16進数(小文字)
  • %X – 16進数(大文字)

例えば、以下のように使うことができます。

#!/bin/bash

name="Taro"
age=30
height=175.72

printf "Name: %s\nAge: %d\nHeight: %.1f feet\n" "$name" "$age" "$height"

このスクリプトでは、%sが文字列、%dが整数、%.1fが小数点以下1桁の浮動小数点数を出力します。

数値のゼロ埋め

数値をゼロ埋めするためには、フォーマット指定子にゼロを使います。

#!/bin/bash

printf "%04d\n" 7
printf "%04d\n" 123

このスクリプトでは、%04dにより、整数が常に4桁でゼロ埋めされて表示されます。結果は0007と 0123 となります。

まとめ

printfコマンドは、シェルスクリプトにおける出力フォーマットを細かく制御できる強力なツールです。

フォーマット指定子を活用することで、出力を整形し、見やすく、かつ効果的に情報を伝えることができます。

Haruoka