>[оверквотинг удален]
>> 101
>> и т.д.
>> выведите в указанном виде ))
>> 100000 в таком виде уже не вывести ))
>>> AAAAA
>>> AAAAB
>>> То есть, в выводе все поля должны содержать 5 символов.
>>> Ваше блестящее решение этого не предусматривает, оно делает tr и всё.
> Наверное, моя вина, что я не полностью сформулировал задачу. Чтобы избежать споров,
> скажу, что нужно было только дописать нули в начало.То есть, нужно было получить на выходе
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
Так, что ли, если я правильно понял смысл последнего?
Ну так и спрашивайте, конкретно, а не окольными путями, а то народ вас не поймет. ))
Я дико извиняюсь за некоторый некрофилизм.))
Немного подправив вышеприведённые примеры, получим через логарифм такой полууниверсальный вариант:
#!/bin/sh
#(2,4,8,16,32,64... etc)
it=16
for i in $(seq 0 $it); do echo "obase=2; $i" | bc; done | awk '{lg=log('$it')/log(2)+1; printf "%0"lg"d\n", $0}'
справедливо для
obase=2 (bin)
если obase
obase=16 (hex)
obase=10 (dec)
obase=8 (oct)
то и основание логарифма нужно менять, с вытекающими отсюда..