Я не пытаюсь удалить только дубликаты строк. что приведет к оставлению ОДНОГО экземпляра рассматриваемой строки после удаления всех дубликатов. Вместо этого, в случае обнаружения дубликата, удалите все экземпляры, включая оригинал, чтобы строка больше не существовала. Например, с исходным файлом
Huey
Huey
Louie
Huey
Dewey
Donald
Uncle Scrooge
Donald
Daffy
такой сценарий приведет к
Louie
Dewey
Uncle Scrooge
Daffy
Обратите внимание, что этот пример не представляет, как выглядят данные, это просто пояснение логики, которую я хочу применить к дублированному тексту. Я использую Блокнот ++.
Ответы:
Вы можете использовать плагин SQL для своего сценария.
Для того, чтобы установить его, сначала необходимо установить PluginManager Посетите эту ссылку: https://github.com/bruderstein/nppPluginManager/releases , Выберите версию, которая подходит вашему N ++, и скачайте ее.
В распакованном виде он имеет следующую структуру.
PluginManager_v1.4.11_x64
| --- плагины
| --- PluginManager.dll
| --- Updater
| --- gpup.exe
Для этого поста я скачал zip 64-битную версию N ++. В распакованном виде он уже содержит плагины и папки обновлений. Я просто скопировал файлы из PluginManager в папки N ++.
Давайте начнем N ++
Давайте установим плагин SQL.
Следующий шаг - поместить данные в N ++. Плагин SQL требует имя столбца. Любое имя может быть выбрано. Я просто выбрал «MyColumn». Также требуется разделитель для столбца. Я использовал Regex для этого. В окне замены (Ctrl + H):
Найдите что: \ r \ n | $
Заменить на:, \ r \ n
Теперь у нас есть имя столбца и разделители в каждой строке.
Давайте наконец запустим плагин SQL.
Инструкция SQL: выберите MyColumn из Data GROUP BY MyColumn HAVING COUNT (MyColumn) = 1
Разделитель:,
В результате мы получаем ожидаемые результаты.
источник