Como fazer um shell bash com incremento com um número variável 0 como primeiro caractere

2

Como fazer um shell bash com incremento com 0 como primeiro caractere para incremento como:

for (( c=1; c<=75; c++ )) ; do echo 0$c ; done ;

me dá isso:

.../...
07
08
09
010
011
.../...

Meu problema é obter um duplo 00 para o primeiro dígito 9, então gostaria que esse resultado fosse um problema:

.../...
007
008
009
010
011
.../...
    
por dubis 02.12.2017 / 12:08

2 respostas

1

Enquanto a resposta do Arkadiusz Drabczyk formata a saída como você quer, há outra abordagem: -

for c in {01..75}; do echo $c; done;   # for two digits
for c in {001..075}; do echo $c; done; # for three digits

Isso inclui os zeros iniciais nos valores atribuídos de c , em vez de adicioná-los ao resultado, e posso imaginar circunstâncias em que isso seria mais útil.

    
por 02.12.2017 / 12:42
4

Usando printf assim:

for (( c=1; c<=75; c++ )) ; do printf "%03d\n" "$c" ; done
    
por 02.12.2017 / 12:23