Хотите, чтобы скрипт bash получил txt-файл со всеми возможными комбинациями

makeне является универсальным.

Используемый вами Makefileспецифичен для программы GNU make. Вы используете программу OpenBSD make, производную от Адама де Бура pmake. У них совершенно разный синтаксис.

Если вы соберете git из дерева портов OpenBSD в /usr/ports/devel/git, вы обнаружите, что это и многое другое было разработано за вас.

-4
09.11.2021, 09:36
1 ответ

Вот иллюстрация, показывающая, как ответить на заданный вами вопрос:

s='1 2 3 4 5'    # Space separated alphabet of characters

for a in $s
do
    for b in $s
    do
        for c in $s
        do
            printf "%s%s%s\n" "$a" "$b" "$c"
        done
    done
done

Этот код имеет алфавит всего из пяти символов по сравнению с вашими 66 (, которые вы пропустили 6из вашего диапазона чисел ), и использует только три итератора, а не восемь. Он генерирует 125 выходов:

111
112
113
114
115
121
122
...
555

Использование вашего алфавита, но всего с тремя итераторами даст 287496 комбинаций. Вы можете определить количество комбинаций, возведя количество символов в алфавите в степень количества итераторов. Здесь, например, 5 3 = 125 и 66 3 = 287496, и ваше целевое требование будет 66 8 ≈ 3,6x10 14 комбинации.

1
09.11.2021, 10:05

Теги

Похожие вопросы