Из того, что я могу понять, ни одна из программ не имеет встроенной функции рандомизации строк (а тем более той, которая использует регулярные выражения). Тем не менее, оба имеют потенциальную возможность поддерживать эту функцию через плагины.
К сожалению, я не смог найти готовых решений для EmEditor, но есть плагин Notepad++ под названием Python Script, который поддерживает другой внешний скрипт, который может выполнять базовую рандомизацию строк из Notepad++.
Что касается критерия "большого" файла, в Notepad++ могут возникнуть проблемы с файлами большего размера (хотя открытие файла размером ~ 500 МБ, безусловно, возможно без проблем). Если вы обнаружите какие-либо ошибки, вам может потребоваться разбить файл на более мелкие куски.
Python Script Plugin и RandomizeLines.py
Сначала загрузите и установите плагин Python Script через менеджер плагинов Notepad++:
Ex. Установка плагина Python Script в диспетчере плагинов Notepad++
Как только плагин установлен, вам нужно будет перезапустить Notepad++. После перезапуска плагин должен появиться в разделе Плагины → Python Script.
Затем загрузите этот скрипт на основе Python «npp-randomizelines» из Github (клонирование или загрузка → загрузка ZIP). Извлеките файл и выберите файл RandomizeLines.py :
Ex. RandomizeLines Master - Извлечено
Скопируйте RandomizeLines.py в свой Блокнот ++ → Плагины → Скрипты Python → Папка скриптов . Это может быть в другом месте, чем показано в зависимости от вашей установки Notepad ++.
Ex. RandomizeLines - Блокнот ++ Папка плагинов
Перезапустите Notepad++, и теперь у вас должна быть опция Плагины → Скрипт Python → Сценарии → RandomizeLines .
Ex. Запуск сценария RandomizeLines
С вашим исходным вводом я получаю следующее после запуска скрипта:
Ex. Частичные результаты сценария
B
a
c
b
4
A
Заметки
При запуске, если никакие строки не выбраны, он будет рандомизировать все строки текущего открытого файла. Если отдельные строки выделены, это будет только случайным образом эти строки.
Я не играл с самим плагином Python Script , но возможно, что вы могли бы расширить скрипт с помощью собственного модуля регулярных выражений Python. Что касается синтаксиса, плагин, очевидно, использует версию Python 2.7 .dll.
Если вы хотите подобный скрипт / плагин для EmEditor, вам, вероятно, придется написать свой собственный код на C++. Это не кажется сложной задачей (по крайней мере, для любого, кто хоть немного знаком с C++ и простым кодированием Windows), но, вероятно, это более сложная задача, чем добавление регулярных выражений в скрипт Notepad++, упомянутый выше.