Нужно вывести числа в порядке возрастания до 100, а перед числами буквы русского алфавита по порядку, алфавит следует повторить заново, когда число сравняется с последней буквой алфавита
Что-то обратное вот этому, но еще и с русскими буквами:
i=0; for name in {a..z}; do i=$[ i+1 ]; echo $name$i; doneи что-то вроде:
а1
б2
в3
...
я33
а34
$100
Тупо в лоб.#!/bin/sh
i=1
while [ $i -le 100 ]; do
for lit in а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я; do
echo $lit$i
i=$(expr $i + 1)
if [ $i -ge 101 ]; then break; fi
# if [ $i -ge 101 ]; then exit; fi
done
done
> Тупо в лоб.
> #!/bin/sh
> i=1Ну, хоть подождал бы недельку, чтоб студиозус обломался с пересдачей...
bash$ L=абвгдеёжзийклмнопрстуфхцчшщъыьэюя;for i in {1..100}; do echo "${L:$(((i-1)%${#L})):1}$i"; done
>> Тупо в лоб.
>> #!/bin/sh
>> i=1
> Ну, хоть подождал бы недельку, чтоб студиозус обломался с пересдачей...
> bash$ L=абвгдеёжзийклмнопрстуфхцчшщъыьэюя;for i in {1..100}; do echo "${L:$(((i-1)%${#L})):1}$i";
> doneЯ давно все экзамены сдал (я гуманитарий), мне для практических целей на работе,
надо сгенерировать много цифр с буквами для картотеки.Жалко людей стало, сидят и вбивают в документ вручную =)
a1
a2
и т.д. :)
> Жалко людей стало, сидят и вбивают в документ вручную =)
> a1
> a2
> и т.д. :)Да, жалко. Людей. Которые решают не ту задачу.
>> и что-то вроде:
>> а1
>> б2
>> в3
> bash$ L=абвгдеёжзийклмнопрстуфхцчшщъыьэюя;for i in {1..100}; do echo "${L:$(((i-1)%${#L})):1}$i"; doneИзящно!
>> Тупо в лоб.
>> #!/bin/sh
>> i=1
> Ну, хоть подождал бы недельку, чтоб студиозус обломался с пересдачей...
> bash$ L=абвгдеёжзийклмнопрстуфхцчшщъыьэюя;for i in {1..100};do echo "${L:$(((i-1)%${#L})):1}$i";doneПродолжаем развлекаться. Ремейк для нашего друга павлина.
$ gawk 'BEGIN{split("абвгдеёжзийклмнопрстуфхцчшщъыьэюя",a,"");for(;i<100;)print a[i%length(a)+1]""++i}'
Михалыч, пасиб.
>[оверквотинг удален]
> Что-то обратное вот этому, но еще и с русскими буквами:
> i=0; for name in {a..z}; do i=$[ i+1 ]; echo $name$i;
> done
> и что-то вроде:
> а1
> б2
> в3
> ...
> я33
> а34echo -e {а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я}{1..100}\\n
>[оверквотинг удален]
>> i=0; for name in {a..z}; do i=$[ i+1 ]; echo $name$i;
>> done
>> и что-то вроде:
>> а1
>> б2
>> в3
>> ...
>> я33
>> а34
> echo -e {а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я}{1..100}\\nне подходит - невнимательно прочитал условие
>[оверквотинг удален]
>>> done
>>> и что-то вроде:
>>> а1
>>> б2
>>> в3
>>> ...
>>> я33
>>> а34
>> echo -e {а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я}{1..100}\\n
> не подходит - невнимательно прочитал условиеprintf "$(printf '%s%%s\\n' {а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я})" {1..100} | head -n 100
>[оверквотинг удален]
>>>> а1
>>>> б2
>>>> в3
>>>> ...
>>>> я33
>>>> а34
>>> echo -e {а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я}{1..100}\\n
>> не подходит - невнимательно прочитал условие
> printf "$(printf '%s%%s\\n' {а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я})"
> {1..100} | head -n 100Вот это круто.
>> printf "$(printf '%s%%s\\n' {а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я})"
>> {1..100} | head -n 100
> Вот это круто.Да! Продолжим:
$ printf "`sed s/./\&%s\\\n/g<<<абвгдеёжзийклмнопрстуфхцчшщъыьэюя`\n" {1..100} |head -n 100
> printf "`printf '%s%%s\\n' {а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я}`" {1..100} |head -n 100
Я раздавлен от кол-ва вариантов и оттого, что не додумался ни до одного
echo "а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я" | awk '{ k=1; for (i = 0; i < 100; ++i) printf "%s%s\n", $(i%(length($0)/2)+1), k++ }'
Ну ты и быдлoкoдep павлинукс :) Вон же выше красивые варианты лежат.
> Ну ты и быдлoкoдep павлинукс :) Вон же выше красивые варианты лежат.Там printf, printf (sed) и 1 раз head, что явно тормознутее есho и awk :-P
:1>> Ну ты и быдлoкoдep павлинукс
> 1 раз head, что явно тормознутее есhoIF ты правда оптимизируешь по скорости вывод 100 коротеньких строк текста??
THEN GOTO 1
ELSEЛибо ты так толсто набрасываешь, что никто не понимает, либо ты сам не понимаешь, поэтому никто не понимает, либо ты пишешь полную ...., поэтом никто не понимает.
Никто не понимает, некоторые даже переспрашивают, спорят, и тебе приходится объяснять "второй раз". Или отмазываться?
Не замечал?
> и awk :-P
> IF ты правда оптимизируешь по скорости вывод 100 коротеньких строк текста??head - это echo сo счётчиком, да и еще с парсером argv[] :-P
$ time echo "а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я" | awk '{ k=1; for (i = 0; i < 100; ++i) printf "%s%s\n", $(i%(length($0)/2)+1), k++ }'real 0m0.009s
user 0m0.004s
sys 0m0.005s% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00 0.000025 1 21 fstat
0.00 0.000000 0 4 read
0.00 0.000000 0 1 write
0.00 0.000000 0 20 open
0.00 0.000000 0 22 close
0.00 0.000000 0 26 mmap
0.00 0.000000 0 5 mprotect
0.00 0.000000 0 4 munmap
0.00 0.000000 0 3 brk
0.00 0.000000 0 1 access
0.00 0.000000 0 1 execve
0.00 0.000000 0 1 arch_prctl
------ ----------- ----------- --------- --------- ----------------
100.00 0.000025 109 total
---
$ time printf "`sed s/./\&%s\\\n/g<<<абвгдеёжзийклмнопрстуфхцчшщъыьэюя`\n" {1..100} |head -n 100real 0m0.013s
user 0m0.004s
sys 0m0.011s% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
40.62 0.000039 39 1 write
31.25 0.000030 8 4 read
28.12 0.000027 1 26 mmap
0.00 0.000000 0 20 open
0.00 0.000000 0 22 close
0.00 0.000000 0 21 fstat
0.00 0.000000 0 5 mprotect
0.00 0.000000 0 4 munmap
0.00 0.000000 0 3 brk
0.00 0.000000 0 1 access
0.00 0.000000 0 1 execve
0.00 0.000000 0 1 arch_prctl
------ ----------- ----------- --------- --------- ----------------
100.00 0.000096 109 total
У тя write долго соображает!!! :)> Не замечал?
Я заметил, что никто косяк не заметил :)
Ребята, независимо от чужого и собственного понимания тонкостей и особенностей стилей программирования хотел бы выразить благодарность от лица одного небогатого российского музея, которому вы очень помогли решить прикладную задачу.
> хотел бы выразить благодарность от лица одного небогатого российского музеяПоблагодарили - и отбегайте, а еще лучше - в укрытие, а то ударной волной накроет :)