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
printf
le 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
s
conversionesS
.
Entonces printf '%.s'
es equivalente a printf '%.0s'
, que suprime la salida del parámetro de cadena posterior.