String Master 1.1
Руководство пользователя.

Назначение и функционал программы

Утилита String Master предназначена для разбиения одного исходного файла строковых данных на два или несколько результирующих в соответствии с заданной маской или подстроками. Основные области применения программы – поиск нужных записей в базах данных, дампах форумов и логах, текстовых файлах большого объема; автоматизация сортировки ссылочных баз по доменам и именам.

Главное окно программы (Рис. 1. Главное окно программы)

При работе String Master построчно считывает информацию исходного файла, проверяет ее соответствие заданным подстрокам или маске и помещает в буфер. По мере заполнения буфера отсортированные данные записываются в несколько файлов, имена которых дублируют имя начального файла с добавлением порядковых номеров масок в списке программы. Строки, не соответствующие ни одной из заданных пользователем масок, помещаются в файл с нулевым номером.

Базовая и профессиональная версии String Master

Начиная с версии 1.1 функционал стандартной и Pro сборок String Master практически идентичен. Основное отличие профессиональной версии – одновременная возможность работы с 256 масками, в то время как в базовой версии их количество ограничено 32. Также каждый раз при запуске бесплатной версии отображается окно дефолтового браузера с домашней страницей программы.

О программе (Рис. 2. О программе)

Интерфейс и элементы управления программы

Интерфейс программы удобен и компактен. Сверху вниз в окне String Master расположены: строка меню; поле выбора исходного строкового файла; поле задания объема буфера программы; поле подготовки ссылок; поле со списком подстрок или масок; информационная строка.

Основное окно программы (Рис. 3. Основное окно программы)

При наведении указателя мыши на любой из элементов управления появляется всплывающая подсказка с кратким пояснением.

Всплывающая подсказка (Рис. 4. Всплывающая подсказка)

При помощи строки меню (Menu) можно вызвать справочное окно, выбрать один из режимов обработки файла, задать использование подстрок вместо маски, использовать режим предобработки ссылок, а также моментально закрыть окно программы. Подробнее об элементах меню – в разделе «Меню программы и режимы обработки файлов».

В поле выбора исходного строкового файла (Source File) можно вставить ссылку на исходный файл из буфера обмена операционной системы или же выбрать его вручную, воспользовавшись кнопкой «…» справа. Имя файла не должно содержать символов кириллицы, в противном случае программа сообщит об ошибке.

Ошибка при открытии файла с символами кириллицы в имени (Рис. 5. Ошибка при открытии файла с символами кириллицы в имени)

Поле задания объема буфера программы (Buffer size (lines)) содержит число строк, которые при сортировке будут храниться в строковых буферах до непосредственной записи в файл для каждой маски. Использование буферизации помогает ускорить работу программы; в зависимости от производительности компьютера оптимальное значение буфера составляет от 1000 до 10000 строк, по умолчанию выставлено значение 10000. Дальнейшее увеличение этого числа значительного прироста скорости обработки не обеспечит. Размер буфера можно менять непосредственно во время обработки файла.

Поле подготовки ссылок используется для предобработки ссылок (удаления передаваемых параметров, имени скриптов и путей к ним, сокращения ссылки до первой папки или до домена). Подробнее о логике преобразования ссылок – в разделе «Меню программы и режимы обработки файлов».

Поле со списком подстрок или масок (List of masks) позволяет вводить нужные фильтры для обработки исходного файла, общим количеством не более 32 для бесплатной версии и 256 для платной. По умолчанию в этом списке перечислены 30 доменных зон (com/, .net/, .org/, .info/, .gov/, .edu/, .mil/, .biz/, .co/, .xxx/, .tv/, .ru/, .ua/, .by/, .cz/, .bg/, .sk/, .kz/, .es/, .de/, .fr/, .uk/, .eu/, .pl/, .ca/, .ch/, .cn/, .jp/, .it/, .kr/), пользователь может ввести любые другие значения. Каждая новая маска должна начинаться с новой строки.

Поле изменения частоты обновления статистики программы в информационной строке. Для доступа к нему нужно увеличить размер главного окна по горизонтали до появления пункта Feedback Intensity (lines). По умолчанию значение этого поля равно 100, иными словами программа обновляет статистику через каждые обработанные 100 строк исходного файла. Если уменьшить значение – статистика будет обновляться чаще, если увеличить – реже, но это позволит увеличить быстродействие при работе с базами большого размера. Изменять значение Feedback Intensity можно в любое время – как до запуска обработки файла, так и в процессе сортировки.

Поле изменения частоты обновления статистики (Рис. 6. Поле изменения частоты обновления статистики)

Информационная строка содержит данные об общем числе обработанных строк (Processed), а также о средней скорости работы программы – количестве строк, обрабатываемых в секунду (Average Speed (links/second)).

При закрытии приложения обычным образом (кнопкой закрытия окна в операционной системе или нажатием соответствующего сочетания клавиш) программа создает файл конфигурации (ini-файл), в котором сохраняется большинство введенной пользователем информации – имя выбранного для обработки файла и полный путь к нему, содержимое строки подготовки ссылок и поля со списком масок, путь и имена создаваемых файлов с результатами сортировки, значение интенсивности опроса. В этот файл также вносится информация о том, включены ли режимы работы с Unicode-кодировкой и использования подстрок вместо масок, а также заданные пользователем размеры окна. При следующем запуске String Master автоматически считывает эти данные из конфигурационного файла.

Опцию ведения лога и при необходимости размер строкового буфера при каждом перезапуске программы нужно выставлять вручную: при старте программы возможность ведения лога по умолчанию отключена, размер буфера составляет 10000 строк.

Файл конфигурации можно редактировать вручную, используя любой текстовый редактор. Для сброса всех настроек достаточно удалить ini-файл, в этом случае при следующем старте программы String Master будет запущен со всеми параметрами, выставленными по умолчанию.

Меню программы. Режимы обработки файлов

Меню String Master разбито на несколько тематических категорий. Помимо выбора справки и экстренного закрытия окна приложения доступны три группы элементов. Первая группа позволяет выбрать один из четырех режимов сортировки, режим подготовки строк и один из двух режимов шифрования. Вторая группа содержит три пункта для сбора статистической информации и позволяет оценить размер результирующих файлов и количество вхождений заданных масок, что полезно при работе с большими объемами исходных данных. В третью группу входят опции работы с Unicode-кодировкой, использования подстрок вместо масок и ведения программой лога работы. Каждый из пунктов меню может быть активирован соответствующей горячей клавишей или сочетанием клавиш, что делает работу с программой простой и интуитивно понятной.

Меню программы String Master (Рис. 7. Меню программы String Master)

About (F1) – вызов информационно-справочного окна, содержащего информацию о версии и дате релиза, а также адрес электронной почты автора программы.

После того, как пользователь выбирает файл для обработки, задает в соответствующем поле все необходимые подстроки или маски, при выборе одного из вариантов разделения (Split by Masks - Many, Split by Masks - Single, Split by Random - Single, Split by Black and White), подготовки (Prepare Strings) или шифрования (Hash Strings md5, Hash Strings SM-hash) программа начинает построчно анализировать файл, проверяя каждую из составляющих его строк на соответствие заданным параметрам и выводит информацию в результирующие файлы.

При выборе режима Split by Masks - Many (F2) создаются файлы по количеству заданных масок/подстрок, каждому присваивается имя исходного файла с добавлением порядкового номера маски или подстроки. При названии исходного файла base.txt и отображаемых в программе по умолчанию подстроках все ссылки, содержащие «.com/», будут сохранены в файл с именем base.txt.1.txt; содержащие «.net/» – в файл base.txt.2.txt; содержащие «.org/» – в файл base.txt.3.txt, и так далее. В случае совпадения строка исходного файла будет скопирована во все файлы, маскам/подстрокам которых она соответствует. Если помимо этого есть строки, не удовлетворяющие ни одной маске или подстроке, создается файл с исходным именем и индексом 0 и они помещаются в него.
Пример: если в одной из строк будут найдены два вхождения – «.com/» и «.net/», то она попадет и в base.txt.1.txt, и в base.txt.2.txt.

При использовании режима Split by Masks - Single (F3) количество и имена создаваемых файлов аналогичны, но при нахождении строки, соответствующей нескольким подстрокам или маскам, она будет помещена только в тот из файлов, маска которого расположена выше в списке.
Пример: если в одной из строк будут найдены два вхождения – «.com/» и «.net/», то она попадет только в base.txt.1.txt, но не попадет в base.txt.2.txt.

В режиме Split by Black and White (F4) программой создается только два файла – с индексом 0 и с индексом 1. В файл с индексом 1 попадут те строки исходных данных, которые совпадут хотя бы с одной из заданных масок или подстрок, а в файл с нулевым индексом – все те, для которых не нашлось ни одного соответствия.

Режим Split by Random – Single (F5) предназначен для разбиения больших файлов на части с автоматическим перемешиванием. При этом все заданные маски игнорируются, а программой создается 32 файла: каждая строка исходного файла будет равновероятно попадать в один из них.

Выбрав режим Prepare Strings (F6), пользователь может привести список ссылок к единому необходимому виду (так называемая предобработка). В более ранних релизах программы эта опция использовалась совместно с любым из режимов сортировки, что позволяло значительно экономить время, но могло приводить к потере ссылок (к примеру, при сокращении ссылок в базе до знака «?» все строки, не содержавшие этого символа, попадали в файл с нулевым индексом, и при совмещении подготовки базы с другими режимами обработки они могли быть утеряны). Предобработка как отдельная процедура позволяет избежать таких ошибок. Также полезно видеть промежуточный вариант перед созданием шифрованного файла с данными.

Все маски и подстроки при использовании данного режима игнорируются программой, используется заданная последовательность символов в поле URL Prepare Settings, где:

  • первый знак – необходимый для нахождения символ в файле, который станет местом разбиения строки;
  • второй знак – счетчик вхождений указанного символа;
  • третий знак – принимает значение 0 или 1. Если он равен 0, то вхождение символа ищется с начала строки. Если 1, то с конца;
  • четвертый знак – принимает значение 0 или 1. Если он равен 0, то удаляются все данные в строке до символа вхождения. Если 1, то после;
  • пятый знак – принимает значение 0 или 1. Если он равен 0, то сам символ вхождения включается в строку итогового файла. Если 1, то исключается.

Пример 1: если в поле URL Prepare Settings выставлено значение /3010, то ссылки типа http://ru.someforum.com/index.php?showtopic=10358&st=40&#entry136670 будут приводиться к виду http://ru.someforum.com, так как:

  • ищется символ «/»;
  • ищется третье вхождение символа;
  • строка проверяется с начала;
  • удаляются все данные после символа вхождения;
  • сам символ вхождения не включается в итоговый файл.

Пример 2: если в поле URL Prepare Settings выставлено значение .3110, то ссылки типа http://music.bla.bla.ru.someforum.com будут преобразованы в ru.someforum.com, так как:

  • ищется символ «.»;
  • ищется первое вхождение символа;
  • строка проверяется с конца;
  • удаляются все данные после символа вхождения (при проверке справа налево это и есть часть ссылки «http://music.bla.bla»)
  • сам символ вхождения не включается в итоговый файл.

В этом случае происходит очистка ссылок от поддоменов.

Пример 3: если в поле URL Prepare Settings выставлено значение ?1010, то ссылки типа http://ru.someforum.com/index.php?showtopic=10358&st=40&#entry136670 примут вид http://ru.someforum.com/index.php, так как:

  • ищется символ «?»;
  • ищется первое вхождение символа;
  • строка проверяется с начала;
  • удаляются все данные после символа вхождения
  • сам символ вхождения не включается в итоговый файл.

При такой обработке удаляются дополнительные параметры скрипта.

В режиме Hash Strings md5 (F7) пользователь сможет зашифровать каждую строку алгоритмом md5. При этом программой создается один файл, куда и будут помещены хэши всех строк исходного файла. Это полезно в том случае, когда несколько пользователей хотят сравнить свои базы строк, не раскрывая друг другу их непосредственное содержимое, а также при продаже баз.

Режим шифрования Hash Strings SM-hash (F8) в отличие от предыдущего позволяет задать произвольную длину хэша. Так как при обработке небольших файлов использование полной длины MD5 нецелесообразно, уменьшение длины хэша во многих случаях позволит увеличить скорость работы программы и сократить размер итогового файла, содержащего шифрованные значения строк. Использовать большую длину хеша рекомендуется при обработке значительных объемов информации, так как это поможет избежать возможных коллизий.

Задание длины хэша при шифровании (Рис. 8. Задание длины хэша при шифровании)

Меню программы. Режимы получения статистики и опции

Помимо основных способов работы с файлом в String Master пользователю предлагается несколько дополнительных статистических режимов. Для их выбора можно воспользоваться пунктами меню Split by Masks - Many (stata) (Shift+F2), Split by Masks - Single (stata) (Shift+F3), Split by Black and White (stata) (Shift+F4).

Данные режимы предназначены для определения размера результирующих файлов и количества вхождений по заданным пользователем параметрам. Принцип действия аналогичен алгоритмам сортировки, но в итоговые файлы выводятся не соответствующие маскам строки, а статистика, что гораздо быстрее, так как производительность в этом случае ограничена только скоростью построчного считывания. Имя итогового файла состоит из имени исходного с добавлением «stata» и выбранного режима статистики. К примеру, при названии файла base.txt и режиме Split by Masks - Many (stata) результирующий файл будет иметь название base.txt.stata.method1. В файл статистики помимо подсчитанных вхождений масок заносятся данные о суммарном количестве строк в исходном файле и времени, затраченном на анализ. Возможность сбора статистики крайне полезна при работе с большими базами ссылок.

Пример результирующего файла, подготовленного в режиме stata (Рис. 9. Пример результирующего файла, подготовленного в режиме stata)

Независимо от выбранного режима работы с файлами пользователь может отметить дополнительные опции работы программы: использование Unicode-кодировки, работу с подстроками вместо масок (включена по умолчанию), ведение программой протокола работы.

Опция Unicode mode (Ctrl+F1) позволяет обрабатывать файлы в кодировке UTF-8 (формат преобразования Юникода, совместимый с 8-битным кодированием текста) при включенном флаге и в кодировке ANSI при отключенном. Таким образом, при использовании String Master не обязательно пользоваться сторонней программой для сохранения текста в нужной кодировке.

При помощи опции Use Substring not Mask (Ctrl+F2) пользователь может использовать для сортировки исключительно подстроки, в этом случае использование символа «*» уместно только в том случае, если он может встретиться в тексте исходного файла. Опция Use Substring not Mask включена по умолчанию, при ее отключении активируется режим масок, в котором подстановочный знак «*» имеет более широкое применение.

Опция Enable Application Log позволяет приложению вести протокол работы, в который будет заноситься информация о дате и времени начала и завершения обработки файла, выбранном методе сортировки или шифрования, а также имя файла и полный путь к нему.

Протокол работы программы (рис 10. Протокол работы программы)

Работа программы и дополнительные настройки

При выборе необходимого режима работы через меню или нажатия соответствующей горячей клавиши (сочетания клавиш) программа начнет работу, при этом в строке состояния будет отображаться прогресс выполнения задания и скорость обработки строк.

Прогресс выполнения задания (Рис. 11. Прогресс выполнения задания)

После выполнения сортировки пользователю будет показано окно отчета, сигнализирующее об успешном выполнении работы.

Отчет о завершении работы программы (рис 12. Отчет о завершении работы программы)

Если пользователь считает неудобным наименование файлов по названию исходного и цифровым индексам, есть возможность настроить все используемые имена вручную. Для этого нужно подвинуть правый край области прокрутки поля со списком масок влево.

Отображение поля с настройкой имен файлов (рис 13. Отображение поля с настройкой имен файлов)

Изменение имен полезно при работе с большими файлами, так как путем смены адреса дает возможность записывать файлы на другой физический носитель. При первом запуске программы поле с именами файлов не заполнено, значения в нем появляются при выборе исходного файла в поле Source File. При закрытии программы стандартным способом имена файлов, заданные пользователем, сохраняются в конфигурационном файле, но при выборе новой базы для сортировки посредством кнопки «…» сбрасываются на значения по умолчанию.

Вид поля настройки имен файлов (Рис. 14. Вид поля настройки имен файлов)

Важные особенности программы

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

При каждом новом открытии программы значение буфера выставляется на 10000 строк, опция ведения протокола отключена. Если пользователю необходимо вести протокол или использовать значение строкового буфера, отличное от используемого по умолчанию, при старте программы необходимо каждый раз изменять соответствующие настройки. Все остальные изменения сохраняются в ini-файле и считываются автоматически при запуске String Master.

Пункт меню Exit (Halt) или нажатие клавиши F10 закрывает программу моментально, при этом запись текущих данных из буфера в результирующие файлы и настроек в файл конфигурации не производится. В случае возможных сбоев или необходимости закрыть программу стоит уменьшить значение буфера. Возможность экстренного выхода применима при «зависании» программы, в остальное время стоит закрывать String Master стандартным способом.

Заключение

Разумеется, String Master подходит не только для работы со списками ссылок и разнообразными базами форумов и сайтов. За счет стабильной и достаточно быстрой работы с файлами большого объема этой программе можно найти массу других применений.

Загрузки