为什么添加一个 .在 %s 中阻止打印该号码?

为什么添加一个 .在 %s 中阻止打印该号码?

我正在尝试学习 Bash 中的命令并遇到了这些示例。为什么添加 a 会'.'阻止打印序列号?

这是我想要的行为,但我找不到任何内容手册页

printf "%.sI" $(seq 10)

IIIIIIIIII

printf "%sI" $(seq 10)

1I2I3I4I5I6I7I8I9I10I

答案1

printf允许您指定甚至适用于字符串的精度:

相关人士的表态printf(3) 联机帮助页:

可选精度,采用句点 ('.') 后跟可选十进制数字字符串的形式。

如果精度仅指定为“.”,或者精度为负,则精度为零。

这给出了......从字符串中打印的最大字符数sS转换。

Soprintf '%.s'相当于printf '%.0s',它抑制后续字符串参数的输出。

相关内容