генератор символов

На самом деле это единственный раздел про unix на этом форуме

Модератор: /dev/random

Аватара пользователя
olecya
Сообщения: 106
ОС: debian, fedora (i3-wm)

генератор символов

Сообщение olecya »

Наткнулась на статью в ней говорилось об эксперименте как на джаваскрипт
можно выяснить является ли число простым. Суть этого метода заключалась в следующем.
Преобразуем число в унарную форму, ее можно представить как счет на палочках
3 записывается как 111
7 как 1111111
и все это дело, как я по быстрому накидала для шел, перенаправляется сюда

Код: Выделить всё

egrep -x '1?|(1{2,})\1+'
Но! Я принадлежу к новому поколению и считать на палочках как оказалось меня не научили :mellow:
По быстрому проверяю строчку

Shell

shuf -e 1 -zrn 10 | egrep -x '1?|(1{2,})\1+'
Двоичный файл (стандартный ввод) совпадает
Забываю что разделителем выступает машинный ноль.

Shell

shuf -e 1 -zrn 10 | cat -vet
1^@1^@1^@1^@1^@
Чтобы не менять стойку просто добавляю

Shell

echo $(shuf -e 1 -zrn 10) | egrep -x '1?|(1{2,})\1+'
bash: предупреждение: подстановка команды: во входных данных проигнорирован нулевой байт
Думаю если откатиться на такую конструкцию получу 2 пайпа

Код: Выделить всё

yes 1 | head -10 | tr -d '\n'
если вместо echo использовать тот же tr

Код: Выделить всё

shuf -e 1 -zrn 10 | tr -d '\0' | egrep -x '1?|(1{2,})\1+'
Работает. Возвращаюсь к регулярке и понимаю что палочки вполне можно заменить на камушки :)
и нет выгоды в использовании shuf

Код: Выделить всё

seq -s* 10 | tr -d '[0-9]\n' | egrep -x '.?|(.{2,})\1+'
Вспоминаю еще об одной конструкции, но там тоже используются управляющие последовательности
и передавать такую строчку в пайп придется опять же через команду tr. На всякий случай смотрю на результат

Shell

echo $_{1..10}$'\b'* | cat -vet
^H* ^H* ^H* ^H* ^H* ^H* ^H* ^H* ^H* ^H*$
Ну вот, нет быстрого способа repeat или replicate. Я сплюнула капу или
может подправить регулярку чтобы она учитывала разделитель, наверное опция -z в grep здесь не поможет? :)
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 16523
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: генератор символов

Сообщение Bizdelnick »

perl -e "print '1'x10"
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали: