awkコマンドで書く場合によく使っている、printfの書式をサンプルコードと合わせてご紹介します。

スポンサーリンク

awkのprintfの書式

awkのprintfの書式を下記の形式で書くことができます。

%[フラグ][出力幅][.精度]型

よく使う整数と浮動小数点数のprintf出力について、サンプルコードで書式の例をご紹介したいと思います。

スポンサーリンク

整数を出力するprintfの書式

サンプルコード

整数を出力する場合のprintfの書式のサンプルコードになります。

下記が実行結果となります。

スポンサーリンク

単に整数を出力

単に書式に%dを指定するだけです。

出力結果です。

+-の符号を付けて整数を出力

フラグに+を指定して書式を%+dとします。

出力結果です。先頭に符号が付けられていることが確認できます。

先頭にスペースを入れて整数を出力

負の整数の出力と出力幅を揃えたいときなどに使えます。
フラグにスペースを指定し、書式は% dとなります。

出力結果です。先頭にスペースが入っているのが確認できます。

右詰めで出力幅を指定して整数を出力

出力幅に数値を指定します。例えば、出力幅を6桁にしたい場合は、書式を%6dとします。
この場合は、右詰めの出力となります。

出力結果です。右詰めで6桁となっていて、先頭の5桁分はスペースで埋められています。

左詰めで出力幅を指定して整数を出力

左詰めの場合はフラグに-をつけます。例えば、左詰めで出力幅を6桁にしたい場合は、書式を%-6dとします。

出力結果です。6桁となっているのがわかり易いように、語尾に#を入れています。
左詰めで6桁となっていて、後方の5桁分はスペースで埋められています。

0埋めをして整数を出力

指定した出力幅で、出力された数値以外の余った箇所を0で埋めたい場合は、フラグに0を指定します。
例えば、出力幅を6桁で整数を出力して、0埋めをしたい場合は書式を%06dと指定します。

出力結果です。右詰めにしているので、先頭が0埋めをされているのが確認できます。

浮動小数点数を出力するprintfの書式

サンプルコード

下記が実行結果となります。

小数点第n位までを浮動小数点数として出力

精度を指定して、例えば、小数点第2位までを出力したい場合は、書式を%.2fとします。

出力結果になります。小数点第2位まで出力されているのが確認できます。

先頭にスペースを入れて、小数点第n位までを浮動小数点数として出力

先頭にスペースを入れる場合は、フラグにスペースを指定します。例えば、小数点第2位までを出力して先頭にスペースを入れる場合は。書式を% .2fとします。

出力結果です。先頭にスペースが入っていて、小数点第2位まで出力されているのが確認できます。

右詰め、m桁で、小数点第n位までを浮動小数点数として出力

右詰めに出力する桁数を指定する場合は、出力幅に桁数を指定します。例えば、右詰め、6桁で、小数点第2位まで出力する場合は、書式を%6.2fとします。

出力結果です。6桁で出力されていて、先頭にスペースが埋められています。

符号を付けて浮動小数点数を出力

符号を付ける場合は、フラグに+を指定します。例えば、右詰め、6桁で、少数第2位までを、符号を付けて浮動小数点数として出力したい場合は、書式を%+6.2fとします。

下記が出力結果です。先頭に+の符号がついているのが確認できます。

左詰めで浮動小数点数を出力

左詰めとする場合は、フラグに-を指定します。例えば、左詰め、6桁で、少数第2位までを、浮動小数点数として出力したい場合は、書式を%-6.2fとします。

下記が出力で、左詰めなので、後方の2桁がスペースとなっているのが確認できます。
後方のスペースをわかりやすくするために、語尾に#を入れています。

スポンサーリンク