日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
PRINTF(1) FreeBSD 一般コマンドマニュアル PRINTF(1)
名称
printf -- 書式化された出力
書式
printf format [arguments ...]
解説
printf ユーティリティは、format の制御の下で、1 番目の後ろの引数を書式化
(format) して印刷します。format は、3 つのタイプのオブジェクトを含む文字
列です: 平易な文字は、単に標準出力にコピーされます、エスケープシーケンス
の文字は、変換され標準出力にコピーされます、そして書式指定 (format speci
fication) は、それぞれ次に続く argument を印刷します。
1 番目の後ろの arguments は、対応する書式が c, b または s のいずれかであ
るなら、文字列として処理されます。そうでなければ、次の拡張とともに C の定
数として評価されます:
• 先導するプラスまたはマイナス記号が許されます。
• 先導する文字がシングルクォートまたはダブルクォートであるなら、
値は、次の文字の文字コードです。
書式文字列は、arguments を満たすために必要に応じてしばしば再利用されま
す。任意の余分な書式指定は、0 またはヌル文字列で評価されます。
エスケープシーケンス文字は、拡張された ANSI X3.159-1999 (``ANSI C89'') で
定義されたバックスラッシュ記法です。文字とそれらの意味は、次の通りです:
\a <ベル> 文字を書き込みます。
\b <バックスペース> 文字を書き込みます。
\f <フォームフィード> 文字を書き込みます。
\n <改行> 文字を書き込みます
\r <キャリッジリターン> 文字を書き込みます
\t <タブ> 文字を書き込みます
\v <垂直タブ> 文字を書き込みます。
\' <シングルクォート> 文字を書き込みます。
\\ バックスラッシュ文字を書き込みます。
\num 値が 1、2 または 3 桁の 8 進数 num のバイトを書き込みます。
複数の \num シーケンスを使用してマルチバイト文字を構成する
ことができます。
各書式指定は、パーセント文字 (``%'') によって始まります。書式指定の残り
は、次の順序で含めます:
0 個以上の次のフラグ:
# `#' 文字は、値が ``代わりの形式'' で印刷されるべきである
ことを指定します。b, c, d, s と u 書式について、このオプ
ションは、効果がありません。o 書式について、数値の精度
は、出力文字列の先頭文字を強制的に 0 にするために向上され
ます。x (X) 書式について、0 以外の結果には、その前に、文
字列 0x (0X) が付け加えられます。a, A, e, E, f, F, g と G
書式について、結果は、たとえ小数点に数値が続かなくても、
常に小数点を含みます (通常、小数点は、数値が小数点に続く
なら、それらの書式の結果のみに現れます)。g と G 書式につ
いて、後続する 0 は、それらの結果から取り除かれません、そ
うでなければ、取り除かれます。
- マイナス記号 `-' は、指定されたフィールドで出力の左詰めを
指定します。
+ `+' 文字は、符号付き書式を使用するとき、常に数値の前に置
かれる符号となることを指定します。
` ' 符号付き書式のために正の数値の前に残される空白を指定する
空白。両方が使用されているなら、`+' は、空白に優先しま
す。
0 ゼロ `0' 文字は、空白でパディングするのではなく、0 のパ
ディングが使用されるべきであることを示します。両方が使用
されているなら、`-' は、`0' に優先します。
フィールド幅:
フィールド幅を指定するオプションの数値列。出力の文字列がフィール
ドの幅未満のバイトであるなら、フィールドの幅を補うために左に (ま
たは左詰め指示子が与えられたなら、右に) 空白でパディングさます
(先導する 0 は、フラグですが、埋め込まれている 0 は、フィールドの
幅の一部であることにことに注意してください)。
精度: オプションのピリオド `.' は、小数点の後ろに現れる桁の数を指定する
精度を与えるか、または e と f 書式について、文字列から印刷される
バイトの最大数を与えるオプションの数値例が続きます。数値列が指定
されないなら、精度は、0 として扱われます。
書式: 使用する書式のタイプを示す文字 (diouxXfFeEgGaAcsb の 1 つ)。大文
字の書式は、書式化プログラムの出力が全て大文字であることだけ、そ
れらの小文字に対応するものと異なっています。浮動小数点の書式指示
子 (fFeEgGaA) は、利用可能であるなら、追加の精度が使用されること
を要求するために L を前に付けることができます。
フィールドの幅または精度は、数値列の代わりに `*' を指定できます。この場
合、argument は、フィールドの幅または精度を供給します。
書式文字とそれらの意味は、次の通りです:
diouXx argument は、それぞれ、符号付き 10 進数 (d または i)、符号な
し 8 進数、符号なし 10 進数、または符号なしの 16 進数 (X また
は x) として印刷されます。
fF argument は、小数点以下の d の数値が引数のための精度指定と等
しいスタイル `[-]ddd.ddd' で印刷されます。精度が指定されない
なら、6 桁が与えられます。精度が明白に 0 であるなら、桁と小数
点は、印刷されません。値 infinity と NaN は、それぞれ `inf'
と `nan' として印刷されます。
eE argument は、スタイル e `[-d.ddd+-dd]' で印刷され、ここで、小
数点の前に 1 桁と数値の後ろは、引数のための精度指定と等しいで
す。精度が指定されないとき、6 桁が作成されます。値 infinity
と NaN は、それぞれ `inf' と `nan' として印刷されます。
gG argument は、最小の間隔で最大限の精度を与えるとしても、スタイ
ル f (F) またはスタイル e (E) で印刷されます。
aA argument は、スタイル `[-h.hhh+-pd]' で印刷され、ここで、16
進小数点の前に 1 桁あり、数値の後ろは、引数のための精度指定と
等しくなります。精度が指定されないとき、十分な桁が、引数の正
確な倍精度浮動小数点表示を与えるために作成されます。値 infin
ity と NaN は、それぞれ `inf' と `nan' として印刷されます。
c argument の最初のバイトが印刷されます。
s 文字列 argument からのバイトは、終りに到達するまでか、または
精度指定で示されたバイト数に到達するまで印刷されます。しかし
ながら、精度が 0 または指定されていなければ、文字列は、すべて
印刷されます。
b 文字列 argument でバックスラッシュ記法のエスケープ文字を解釈
することを除いて、s と同様です。許可されたエスケープシーケン
スは、8 進数のエスケープが \num の代りに \0num であるという
点、および追加のエスケープシーケンス \c が、この printf 呼び
出しからさらなる出力を停止することでわずかに異なっています。
n$ argument にしたがって出力の再順序付けを許可します。
% `%' を印刷します。引数は、使用されません。
小数点文字は、プログラムのロケール (カテゴリ LC_NUMERIC) で定義されます。
実在しないか、または小さなフィールドの幅の場合、フィールドの切り捨ては行
われません。指定されたフィールドの幅が実際の幅を超えている場合にだけ、パ
ディングが行われます。
いくつかのシェルは、このユーティリティと同様、または、同一の組み込みの
printf コマンドを提供しています。builtin(1) マニュアルページを調べてくだ
さい。
終了ステータス
ユーティリティ printf は、成功すると 0 で、エラーがあった場合は >0 で終了
します。
互換性
数値で始まらない数値書式の引数を最初の文字の ASCII コードに変換する伝統的
な BSD の振る舞いは、サポートされません。
関連項目
builtin(1), echo(1), sh(1), printf(3)
規格
printf コマンドは、IEEE Std 1003.2 (``POSIX.2'') 仕様と互換性があるはずで
す。
歴史
printf コマンドは、4.3BSD-Reno で登場しました。それは、標準ライブラリ関数
printf(3) を手本にしています。
警告
ANSI 16 進文字定数は、故意に提供されませんでした。
最初の文字としてダッシュ ("-") を印刷しようと試みることによって、printf
は、プログラム引数としてダッシュを解釈します。-- は、format の前に使用さ
れなければなりません。
ロケールが (UTF-8 のような) マルチバイト文字を含んでいるなら、精度が指定
された c 書式および b と s 書式は、期待されるように動作しません。
バグ
浮動小数点は、ASCII から浮動小数点に変換され、再び戻るので、浮動小数点の
精度は、失われます。(デフォルトで、数値は、印刷される前に、IEEE-754 倍精
度値に変換されます。L 修飾子は、ハードウェアプラットフォームによって追加
の精度をもたらします。)
エスケープシーケンス \000 は、文字列終端子です。b 書式のための引数に存在
しているとき、引数は、\000 文字で切り捨てられます。
マルチバイト文字は、書式の文字列で認識されません (これは、`%' がマルチバ
イト文字の内側に現れる場合のみ、問題です)。
FreeBSD 13.2 July 1, 2020 FreeBSD 13.2