2

Как сделать оболочку bash для с приращением с 0 в качестве первого символа для приращения, например:

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

дает мне это:

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

Моя проблема, я бы получил двойную цифру 00 для первой цифры 9, поэтому я хотел бы получить этот результат в виде вопроса:

.../...
007
008
009
010
011
.../...

2 ответа2

4

Используя printf вот так:

for (( c=1; c<=75; c++ )) ; do printf "%03d\n" "$c" ; done
1

В то время как ответ Аркадиуша Драбчика форматирует вывод, как вы хотите, есть другой подход:-

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

Это включает ведущие нули в назначенных значениях c , а не добавление их при выводе, и я могу представить обстоятельства, когда это было бы более полезно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .