awk の print と printf の違いは何ですか?

awk の print と printf の違いは何ですか?

awkの違いは何ですか?printprintf

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 の違いは、フォーマット引数です。これは、値が文字列として取得される式であり、他の各引数をどのように出力するかを指定します。これはフォーマット文字列と呼ばれます。

参考文献ここそしてここ

関連情報