私はBashでコマンドを学びようとしていますが、これらの例を見つけました。を追加すると'.'
シリアル番号が印刷されないのはなぜですか?
これは私が望む動作ですが、何も見つかりませんマニュアルページ。
printf "%.sI" $(seq 10)
IIIIIIIIII
printf "%sI" $(seq 10)
1I2I3I4I5I6I7I8I9I10I
答え1
printf
文字列にも適用される精度を指定できます。
関係者の声明printf(3) マンページ:
ピリオド('.')形式のオプションの精度と、その後にオプションで10進文字列が続きます。
精度が「.」で指定されている場合、または精度が負の場合、精度は0です。
これは、文字列から印刷する最大文字数
s
とS
変換を提供します。
したがって、printf '%.s'
同様にprintf '%.0s'
後続の文字列パラメータの出力を抑制します。