
とawk
の違いは何ですか?print
printf
print
のみを代わりに使用したりprintf
、その逆を行ったりすることに制限はありますか?
答え1
GNU awk(gawkマニュアル)によると、http://www.gnu.org/software/gawk/manual/gawk.html#印刷
シンプルで標準化されたフォーマットの出力を生成するには、print ステートメントを使用します。出力する文字列または数値のみを、カンマで区切られたリストで指定します。それらは、単一のスペースで区切られ、その後に改行が続いて出力されます。
などなど
print で提供されるものよりも出力形式をより正確に制御するには、printf を使用します。printf を使用すると、各項目に使用する幅を指定できるほか、数値のさまざまな書式設定の選択肢 (使用する出力基数、指数を印刷するかどうか、符号を印刷するかどうか、小数点の後に印刷する桁数など) も指定できます。
これで違いと制限についてほぼ説明できました。
答え2
印刷:
- 「Print」のみでは入力行が印刷されます。
- 引数を 1 つ指定した「Print」は引数を出力します。
- 複数の引数を持つ「Print」は、引数がコンマで区切られている場合はスペース (または指定された他の OFS) で区切られたすべての引数を印刷し、引数がスペースで区切られている場合は連結されたすべての引数を印刷します。
プリント:
「printf()」(フォーマットされた印刷)関数は、はるかに柔軟で、より複雑です。構文は次のとおりです。
printf(<string>,<expression list>)
違い:
printf と print の違いは、フォーマット引数です。これは、値が文字列として取得される式であり、他の各引数をどのように出力するかを指定します。これはフォーマット文字列と呼ばれます。