¿Por qué agregar un . en %s evitar que se imprima el número?

¿Por qué agregar un . en %s evitar que se imprima el número?

Estoy intentando aprender comandos en Bash y encontré estos ejemplos. ¿Por qué agregar un '.'evita que se imprima el número de secuencia?

Este es el comportamiento que quiero, pero no pude encontrar nada enla página de manual.

printf "%.sI" $(seq 10)

IIIIIIIIII

printf "%sI" $(seq 10)

1I2I3I4I5I6I7I8I9I10I

Respuesta1

printfle permite especificar una precisión que es aplicable incluso para cadenas:

Declaraciones relevantes de lapágina de manual printf(3):

Una precisión opcional, en forma de punto ('.') seguido de una cadena de dígitos decimales opcional.

Si la precisión se proporciona simplemente como '.', o la precisión es negativa, se considera que la precisión es cero.

Esto proporciona... el número máximo de caracteres que se imprimirán desde una cadena para sconversiones S.

Entonces printf '%.s'es equivalente a printf '%.0s', que suprime la salida del parámetro de cadena posterior.

información relacionada