指定子」について説明した。%[フラグ][最小フィールド幅].[精度][長さ修飾子][変換指定子]今回は「最小フィールド幅」と「精度」である。変換した結果がその長さ以下であった場合に、左側が空白で埋められる。表し、足りない場合は0で埋められる。実数変換のうち、f,e変換については、小数点以下に表示する桁数を指定することになり、指定桁以上ある場合は切り捨てられる。g変換の場合は、有効数字を指定することになる。こちらも指定桁以上ある場合は切り捨てられる。文字列の場合は最大表示文字数を表し、この数値以上の文字列は切り捨てられる。ここで指定できるのはともに10進数値、もしくは*(アスタリスク)である。.(ピリオド)のみで数値を省略した場合、「精度」として、0を指定したのと同じ扱いとなる。*(アスタリスク)は、ここで指定する数値を引数を使って指定することを意味する。その引数は出力側に変換されるわけではないのだが、一つ消費される。これはちょっと言葉の説明だけでは難しいので、実例を見て欲しい。整数値の場合どうなるか。00a][100000][100000][100000]と、ひと通り出力してみれば、「最小フィールド幅」「精度」がどのように影響しているか分かるだろう。それ以上の桁が必要な場合は、必要な桁分きちんと表示される。*(アスタリスク)の使い方も分かってもらえると思う。この例では、直値を引数に書いているが、もちろん、変数でも良い。「最小フィールド幅」「精度」を計算によって動的に求めたい場合に重宝するだろう。0);と、精度0で0を出力した場合、何も表示されない。数値の0をあわらす0であっても、有効な桁に扱われない。実際の桁数と同じだけ出力する、としたい場合は1を精度として指定することになる。(デフォルトが1なので明示的に指定することはないと思うが)次に、実数の場合の実例。11]「最小フィールド幅」については、出力される最低文字数ということで、整数とほぼ同じ扱いとなる。実数の「精度」は、デフォルトで6になっている。同じ精度でも、e,f変換では小数点以下の桁数を表し、g変換では有効数字を指定すると、意味が異なっていることに注意。]文字列の場合も、「最小フィールド幅」については、出力される最低文字数という意味で、他の場合と同じになる。「精度」は、出力する最大文字数のような意味になり、それ以上の長さの文字列の場合、途中で途切れてしまうような出力となる。指定幅指定で右寄せ以外に左寄せする方法は無いのかという要望は当然あるだろうということで提示している。詳細については次回の説明を読んでほしい。フラグ更新情報2018/07/28lsっぽいコマンドを作る13アップしました。2018/07/13lsっぽいコマンドを作る12アップしました。2017/01/04lsっぽいコマンドを作る11アップしました。2017/01/03lsっぽいコマンドを作る10アップしました。(https://commoncrawl.org/faq/)。