mkdir $(seq --format 's%.0f' 1 50)
ou se você quiser números preenchidos com zero (o que seria melhor para a classificação):
mkdir $(seq --format 's%02.0f' 1 50)
ou:
mkdir s$(seq -s ' s' -w 1 50)
- observe a string 's' logo antes de $()
, sem ela o primeiro diretório criado será apenas '01' em vez de 's01'
e finalmente: mkdir $(printf "s%02i " $(seq 1 50))
seq
é do GNU Coreutils
estranhamente, seq's --format
ou -f
option apenas permitem tipos duplos de ponto flutuante do printf (como f e g. também um formato hexadecimal de ponto flutuante estranho que eu nunca encontrei utilidade). Eu não tenho ideia do porquê. Seria bom se ele também suportasse outros printf(3)
tipos numéricos como número inteiro (d, i), octal (o, U) ou hex (x, X).
De qualquer forma, um formato duplo com precisão decimal 0 como %.0f
ou %02.0f
é próximo o suficiente de um número inteiro para essa finalidade.
$ seq --help
Uso: seq [OPTION] ... ÚLTIMO
ou: seq [OPÇÃO] ... PRIMEIRO ÚLTIMO
ou: seq [OPÇÃO] ... PRIMEIRO INCREMENTO ÚLTIMO
Imprima números de PRIMEIRO a ÚLTIMO, nas etapas de INCREMENTO.
-f, --format = FORMAT usa FORMAT de ponto flutuante no estilo printf
-s, --separator = STRING usa STRING para separar números (padrão: \ n)
-w, --equal-width iguala a largura preenchendo com zeros à esquerda
--help exibe esta ajuda e sai
--version informações da versão de saída e saída
Se PRIMEIRO ou INCREMENTO for omitido, o padrão será 1. Isto é, um
omitido INCREMENT, o padrão é 1, mesmo quando ÚLTIMO for menor que o PRIMEIRO.
PRIMEIRO, INCREMENTO e ÚLTIMO são interpretados como valores de ponto flutuante.
O INCREMENTO é geralmente positivo se o PRIMEIRO for menor que o ÚLTIMO, e
O aumento é geralmente negativo se o PRIMEIRO for maior que o ÚLTIMO.
FORMAT deve ser adequado para imprimir um argumento do tipo `double ';
o padrão é% .PRECf se PRIMEIRO, INCREMENTO e ÚLTIMO forem todos ponto fixo
números decimais com precisão máxima PREC, e para% g caso contrário.
Veja também: http://www.gnu.org/software/coreutils/manual/html_node/seq-invocation.html