Вопрос или проблема
если возможно создать алфавитно-цифровой список слов с помощью crunch в верхнем регистре с отдельными файлами по 10 МБ каждый
и спасибо
вот пример, который я хочу сделать для моего списка слов
ПРИМЕР 1: AHT9KACNB6T
ПРИМЕР 2: 321AFLY5BR1
Я не могу найти решение для создания нескольких отдельных файлов
Это глупое занятие.
Я никогда не использовал crunch раньше, поэтому, вероятно, есть немного лучшие способы его вызвать, которые я не смог заставить работать, но ниже должно сработать (я пробовал только с 5 символами) –
crunch 11 11 "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" | split -a 13 -d -C 10M - op-
Это возьмет вывод crunch, передаст его в split, который разобьет его по границам строк не более чем на 10 мегабайт файлов, считывая из STDIN и создавая файлы с префиксом “op-“
Обратите внимание, что это создаст ужасное количество комбинаций – примерно 150,629,086,123 x 10 мегабайт полных файлов. У меня нет 1402 ПетаБайт свободного места нигде, ни времени, ни желания ждать так долго, чтобы фактически протестировать это. Вам нужно будет убедиться, что ваша файловая система может обработать количество файлов. Конечно, относительно стоимости хранения (сотни миллионов до миллиардов долларов) стоимость того, чтобы получить кого-то, кто знает, что делает, чтобы помочь вам с этим — это опечатка. На самом деле, все, что делает такую обработку, вероятно, разделит данные и избегает хранения перестановок (которые могут быть тривиально созданы по запросу).
Ответ или решение
Создание множества отдельных файлов с использованием программы crunch может быть непростой задачей из-за огромного количества сочетаний, но, не смотря на это, это вполне возможно. В данном ответе я подробно объясню, как создать алфавитный словарь с использованием буквенных символов в верхнем регистре (ABCDEFGHIJKLMNOPQRSTUVWXYZ) и цифр (0123456789), делая при этом отдельные файлы размером до 10 МБ.
Шаги для создания файлов с помощью crunch
-
Установка crunch:
Для начала убедитесь, что на вашем компьютере установлена программа crunch. Вы можете установить ее через пакетный менеджер. Например, в Ubuntu выполните:sudo apt-get install crunch
-
Команда для генерации словаря:
Используйте следующую команду, чтобы создать словарь, который будет содержать алфавитные строки длиной 11 символов, состоящих из больших букв и цифр. Команда выглядит следующим образом:crunch 11 11 "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" | split -a 13 -d -C 10M op-
- Параметры команды:
11 11
– задает длину генерируемых строк (в данном случае все строки будут длиной 11 символов)."ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
– задает набор символов, из которых будет составляться словарь.|
– это оператор, который перенаправляет вывод первой команды во вход для второй.split -a 13 -d -C 10M op-
– команда split, разбивающая вывод crunch на отдельные файлы:-a 13
устанавливает длину суффикса для названий файлов, создаваемых программой split.-d
означает, что суффиксы будут цифровыми (например, op-000, op-001 и т.д.).-C 10M
указывает, что размер каждого файла не должен превышать 10 МБ.op-
– префикс для имен выходных файлов.
- Параметры команды:
-
Проверьте пространство на диске:
Помните, что создание всех возможных комбинаций строк длины 11 с использованием указанных символов приведет к созданию колоссального количества файлов (порядка 150,6 триллионов). Убедитесь, что объём дискового пространства и файловая система способны обработать такое количество данных. -
Возможные проблемы:
- Ограничения файловой системы: Проверьте, может ли ваша файловая система управлять огромным количеством файлов.
- Время обработки: Генерация такого объема данных может занять значительное время, поэтому лучше запустить этот процесс на мощной машине.
-
Рациональность хранения:
Рассмотрите возможность хранения только необходимых комбинаций или генерации их по запросу вместо хранения всех возможных комбинаций. Это позволит существенно снизить затраты на хранение и упростит управление данными.
Резюме
В создание нескольких файлов с использованием crunch вам потребуются правильные параметры командной строки, а также внимание к ограничениями вашего оборудования и файловой системы. Генерация большого количества уникальных строк — затратный процесс, как по времени, так и по ресурсам. Убедитесь, что у вас есть возможность эффективно обрабатывать и хранить все данные, которые вы планируете сгенерировать.