printf コマンドは echo に似ていますが、ユーザーは出力のフォーマット方法をより詳細に制御できます。バックスラッシュ (\) を使用して、出力するテキスト内にさまざまな書式文字を指定して、それらが使用されていることを示すことができます。例:
# printf "Hello.\nWhat's your name?"
印刷されます:
Hello. What's your name?
これは、\n が改行形式の文字であり、配置された場所に自動的に改行を追加するためです。
printf コマンドは、パーセント記号 (%) を使用していつ使用されるかを示す変換文字もサポートします。変換文字は通常、スクリプトで
変数の出力を変更するために使用されます。たとえば、正確な計算の後に出力する小数点以下の桁数を指定するなどです。
printf コマンドの例
1. テキスト メッセージを印刷する:
# printf "%s\n" "Hello world"
2. 整数を青の太字で表示:
# printf "\e[1;34m%.3d\e[0m\n" 42
3. Unicode ユーロ記号を使用して浮動小数点数を出力します:
# printf "\u20AC %.2f\n" 123.4
4. 環境変数で構成されたテキスト メッセージを出力します。
# printf "var1: %s\tvar2: %s\n" "$VAR1" "$VAR2"
5. フォーマットされたメッセージを変数に保存します (zsh では機能しません):
# printf -v myvar "This is %s = %d\n" "a year" 2016