По логике слово из любого списка можно повторять до 3 раз, не более. Но в любом порядке и любой перестановке. Как мне этого добиться?
Следуя вашей логике `112233112233112233appleorangecafeappleorangecafeappleorangecafe` будет вашей самой длинной комбинацией из вашего примера, верно?
nixda 11 лет назад
0
верно, точно
FernandoSBS 11 лет назад
0
@ nixda, где ты?
FernandoSBS 11 лет назад
0
Вам нужно программное обеспечение или это может быть код?
Andy 11 лет назад
0
Нужна часть программного обеспечения. Вы знаете, я пробовал гуглить около 1 часа подряд и не могу поверить, что не смог найти программу, которая делает это, что я хочу. есть веб-сайт, который делает почти все (но только объединяет, не переставляя), но ограничивает количество слов. Поэтому я считаю, что это должно быть локальное программное обеспечение.
FernandoSBS 11 лет назад
0
2 ответа на вопрос
1
Paulo Almeida
Если у вас под рукой есть компьютер с Linux (или Mac OS X), создайте файл testс таким содержимым:
apple orange cafe 11 22 33
следуют шесть пустых строк. Затем запустите это:
cat test test test|shuf|head -n 18|grep -v ^$|paste -s -d"\0"
cat объединяет файлы, shuf перемешивает строки, head получает первые 18 строк (чтобы вы могли получить максимальную строку), grep исключает пустые строки и вставляет их вместе.
РЕДАКТИРОВАТЬ : Извините, только заметил тег Windows после публикации. Вы можете установить Cygwin для этого, но вы можете просто взять принцип и реализовать что-то еще.
любой способ сделать это с powershell? Кроме того, как насчет пустых строк, если у меня есть список из 30 слов, то я должен поставить 30 пустых строк в конце?
FernandoSBS 11 лет назад
0
Возможно, но я не знаю как. Вы можете сделать это и в Excel (перемешать строки, транспонировать, объединить).
Paulo Almeida 11 лет назад
0
Да, с помощью этого метода вам нужно будет поставить столько пустых строк в конце, сколько у вас есть слов, но если вы реализуете это по-другому, вы можете получить только слова и получить их случайное число. Я просто не знал ни о каком непосредственном способе сделать это в командной строке.
Paulo Almeida 11 лет назад
0
Итак, как вывести его в текстовый файл?
FernandoSBS 11 лет назад
0
В Linux перенаправьте вывод, добавив «> имя файла» к команде.
Paulo Almeida 11 лет назад
0
и если я хочу, чтобы некоторые слова использовались только в начале, а также не повторялись?
FernandoSBS 11 лет назад
0
Кроме того, он будет создавать все возможные комбинации, просто выполнив эту команду?
FernandoSBS 11 лет назад
0
Чтобы добавить слова раньше, было бы проще написать скрипт и сначала вывести эти постоянные слова, а затем результат команды перетасовки. И нет, он не создает все возможные комбинации (если вы не запускаете его в цикле и не сохраняете новые перестановки по мере их поступления, но это глупо; вы можете написать скрипт для этого).
Paulo Almeida 11 лет назад
0
Мне нужно произвести все комбинации. Могу ли я использовать вашу команду или лучше начать с нуля?
FernandoSBS 11 лет назад
0
1
STTR
командная строка, экв cat test test test|shuf|head -n 18|grep -v ^$|paste -s -d"\0":
Для генерации текста из шаблонов больше подходят другие языки.
Требуется специалист по Common Lisp и C. Может быть, специалист по Haskell.
Если необходимо математическое символьное вычисление, то это, вероятно, Maxima.
Но вы всегда можете сделать любые инструменты, которые не предназначены для конкретных задач))).
Было бы очень хорошо, если бы вы полностью описали свою проблему. Архитектурно.
это все должно быть помещено в скрипт powershell? Выводит ли он все комбинации?
FernandoSBS 11 лет назад
0
извините, но я не понимаю ваш пост, не могли бы вы объяснить каждый шаг лучше?
FernandoSBS 11 лет назад
0
Я забыл пароль для RAR-файла, и я пытаюсь выяснить это с помощью общих слов, которые я использую.
FernandoSBS 11 лет назад
0
@FernandoSBS использует `Passware Kit Professional` ...
STTR 11 лет назад
1
отличная программа. Единственным недостатком является то, что я не могу использовать ТОЛЬКО слова из списка слов, так как я должен установить количество символов.
FernandoSBS 11 лет назад
0