Я не пытаюсь удалить только дубликаты строк. что приведет к оставлению ОДНОГО экземпляра рассматриваемой строки после удаления всех дубликатов. Вместо этого, в случае обнаружения дубликата, удалите все экземпляры, включая оригинал, чтобы строка больше не существовала. Например, с исходным файлом

Huey
Huey
Louie
Huey
Dewey
Donald
Uncle Scrooge 
Donald
Daffy

такой сценарий приведет к

Louie 
Dewey 
Uncle Scrooge  
Daffy

Обратите внимание, что этот пример не представляет, как выглядят данные, это просто пояснение логики, которую я хочу применить к дублированному тексту. Я использую Блокнот ++.

1 ответ1

2

Вы можете использовать плагин 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
Разделитель:,



В результате мы получаем ожидаемые результаты.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .