LINUX.ORG.RU
ФорумAdmin

bash, loop, count - формирование незначащих нулей

 , ,


0

1

subj: bash, loop, count - формирование незначащих нулей

добрый день

цикл, «подобный»:

for CNT in {0..10}
do
echo $CNT
done

вывод будет

0
1
2
...
10
надо настраиваемое кол-во незначащих нулей
000
001
002
...
010

спасибо

p.s.позже наткнулся на подобную задачу

https://www.linux.org.ru/forum/general/5966033

p.s.2 решение нужно изначально для старых версий баша (но рассмотрим все)

★★★★

Последнее исправление: sunjob (всего исправлений: 4)

Ответ на: комментарий от xaizek

лихо

хрена себе, лихо! 5ть звезд не пропьешь :о) спасибо

зы к стати, и так тоже прокатит, значит достаточно сформировать «конечное число»

for CNT in {0..010}; do echo $CNT; done

ps2

vv - это че?

sunjob ★★★★
() автор топика
Последнее исправление: sunjob (всего исправлений: 1)
Ответ на: лихо от sunjob

5ть звезд не пропьешь

Пропить пять звёзд? Элементарно! Тут есть пара таких регистрантов.

Только тред надо было не в Admin, а в General (модераторы перенесут, если надо, теперь уж чего).

r3lgar ★★★★★
()
Ответ на: лихо от sunjob

vv - это че?

Это типа стрелочка, куда тебе надо смотреть, чтобы понять магию. (%

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

надо было маркером на мониторе выделить, что бы понятнее было :о)

sunjob ★★★★
() автор топика
Последнее исправление: sunjob (всего исправлений: 1)
Ответ на: комментарий от akk

прямо ОТЛИЧНО,даже на старых версиях баша сработает!

sunjob ★★★★
() автор топика
Последнее исправление: sunjob (всего исправлений: 1)

add for older bash-version

for CNT in $(seq -w 1 0100); do echo $CNT; done

cut from lor-thread :o)

sunjob ★★★★
() автор топика
Последнее исправление: sunjob (всего исправлений: 1)
Ответ на: комментарий от anonymous

спасибо, кланяюсь!

p.s. забыли дописать «сивой кобыли»...

- а еще я в нее ем!

https://www.linux.org.ru/forum/admin/14518268?lastmod=1538920989977#comment-14518313 (комментарий)

for CNT in {0..10}; do printf "%05d\n" $CNT; done

sunjob ★★★★
() автор топика
Последнее исправление: sunjob (всего исправлений: 2)
Ответ на: комментарий от conformist

Потому что максимальная ширина — 2. Аргумент -w параметров не принимает, ширина определяется автоматически.

Три числа, которые ты передаёшь — это начало, шаг и конец. Ширины вывода там нет.

post-factum ★★★★★
()
Последнее исправление: post-factum (всего исправлений: 1)
Ответ на: комментарий от post-factum

«ширина вывода» есть «в контексте» :о)

$ seq --equal-width 3 5 45
03
08
13
18
23
28
33
38
43

$ seq --equal-width 3 5 045
003
008
013
018
023
028
033
038
043

это имелось в виду?

sunjob ★★★★
() автор топика
Последнее исправление: sunjob (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.