Loading article…
| 開発者 | さまざまなオープンソースおよび商用開発者 |
|---|---|
| オペレーティング·システム | UnixおよびUnixライク |
| プラットフォーム | クロスプラットフォーム |
| タイプ | 指示 |
| ライセンス | coreutils : GPLv3+ [1] |
UnixおよびUnix系 オペレーティングシステムでは、printfは、同じ名前のC関数のようにテキストをフォーマットして出力するシェル組み込み関数(およびユーティリティプログラム[2])です。
もともとはプリンタへの出力のために名付けられたが、実際には標準出力に出力します。[3]
このコマンドは、値のフォーマット方法を指定するフォーマット文字列と値のリストを受け入れます。
値の出力を引き起こす 書式指定子が見つかった場合を除き、書式文字列内の文字はそのまま出力にコピーされます。
標準の書式指定子に加えて、%bコマンドはバックスラッシュエスケープシーケンス(たとえば\n改行)を展開し、シェル入力として使用できる項目を出力します。 [3]書式指定よりも項目の数が多い場合は、書式文字列が再利用されます。未使用の書式指定は、ゼロ値またはヌル文字列を提供します。
%q
歴史
printf1992年第4版以来、 X/Open Portability Guideの一部となっている。POSIX.1の最初のバージョンとSingle Unix仕様に継承された。[4] 4.3BSD-Renoで初めて登場した。[5]
GNU coreutilsprintfにバンドルされているバージョンはDavid MacKenzieによって書かれました。POSIXシェル形式の文字列をエスケープするための拡張機能%qがあります。 [3]
例
$ for NUMBER in 4 6 8 9 10> >do printf " >> %03d %d<< \n" $NUMBER $RANDOMdone>> 004 26305<< >> 006 6687<< >> 008 20170<< >> 009 28322<< >> 010 4400<<
これは 'ls' をエミュレートしてディレクトリ リストを出力します。
$ printf "%s\n" *
参照
- printf、C関数
参考文献
- ^ "printf(1): データのフォーマット/印刷 - Linux man ページ". linux.die.net .
- ^ "GNU Coreutils". www.gnu.org。
- ^ abc – Linuxユーザーマニュアル– ユーザーコマンド
- ^ – シェルおよびユーティリティ リファレンス、The Single UNIX 仕様、バージョン 4、The Open Group
- ^ – FreeBSD一般コマンドマニュアル
