O comando printf
executa a iteração implícita se receber mais argumentos que os especificadores de conversão. Por exemplo:
$ printf "%s-%s\n" 1 2 3 4 5 6
1-2
3-4
5-6
Existem duas conversões, mas seis argumentos. Então, três repetições da lógica de formatação ocorrem, marcando os argumentos em pares.
Com isso, podemos fazer:
printf "10.0.0.%s\n" $(seq 1 23)
O comando printf
e seu comportamento repetitivo são padrão POSIX : "O operando de formato deve ser reutilizado quantas vezes forem necessárias para satisfazer os operandos de argumento." Por outro lado, o comando seq
não é.