
🗑 Як видалити дублікати рядків у Notepad++: 3 способи
Дублікати рядків у логах, CSV-вивантаженнях і конфігах, головний біль, знайомий кожному, хто хоч раз розбирав 500-мегабайтний дамп бази вручну. Відкриваєш файл, а там половина рядків повторюється. Видаляти вручну, безнадійна справа на тисячах рядків.
Notepad++ закриває це питання за секунди. В арсеналі редактора три способи: від вбудованої функції за два кліки до регулярних виразів для складних сценаріїв. Обирайте під свою задачу.
💡 Швидкий огляд:
- Спосіб 1, вбудована функція: Edit → Line Operations → Remove Duplicate Lines. Два кліки, працює з v7.6+, 64-біт.
- Спосіб 2, регулярний вираз: видаляє дублікати без сортування, зберігаючи порядок рядків. Гнучко налаштовується.
- Спосіб 3, плагін TextFX: класика, але лише для 32-бітної версії. Для 64-біт є форк TextFX2.
Спосіб 1: вбудована функція Notepad++
Найпростіший і найшвидший метод. З’явився у версії 7.6 і працює в усіх сучасних збірках, включно з актуальною v8.9.6. Жодних плагінів встановлювати не потрібно, все з коробки.
Відкрийте файл у Notepad++, виділіть увесь вміст (Ctrl + A) і перейдіть у меню Edit → Line Operations → Remove Duplicate Lines. Готово, всі повторювані рядки видалено, залишилися лише унікальні.
Тут же є варіант Remove Consecutive Duplicate Lines, він прибирає лише ті дублікати, які йдуть підряд, не чіпаючи такі самі рядки в інших місцях файлу. Корисно для чищення логів, де повтори накопичуються блоками.
Зверніть увагу: функція видаляє ВСІ дублікати, залишаючи лише перше входження кожного рядка. Якщо у файлі є осмислені повтори (наприклад, однакові закривні дужки в JSON або XML), цей спосіб не підійде. Тоді дивіться спосіб 2 із регуляркою.
Спосіб 2: пошук і заміна за регулярним виразом
Регулярний вираз дає повний контроль. На відміну від вбудованої функції, він дозволяє видалити дублікати без попереднього сортування, рядки залишаються у вихідному порядку, а повтори зникають.
Відкрийте діалог пошуку (Ctrl + H), перемкніться на вкладку Replace і заповніть поля:
Поле | Значення |
|---|---|
Find what |
|
Replace with | (залиште порожнім) |
Search Mode | Regular expression |
. matches newline | Зніміть позначку |
Натисніть Replace All. Notepad++ пройде по всьому файлу, знайде рядки, які повторюються десь далі, і видалить їх. У результаті для кожного набору дублікатів залишиться останнє входження.
Як це працює: ^(.*?)$ захоплює рядок у першу групу, \s+? перестрибує пробіли між рядками, а (?=.*^\1$), positive lookahead, який перевіряє, чи зустрінеться цей самий рядок (\1) далі у файлі. Якщо так, поточне входження видаляється.
Плюс регулярки в тому, що шаблон можна адаптувати. Наприклад, додати ^ на початок захоплення, якщо потрібен точний збіг із початку рядка, або замінити \s+? на \r?\n для жорсткої прив’язки до переведення рядка.
Спосіб 3: плагін TextFX
Класичний метод, якому багато років. TextFX був стандартним плагіном у старих 32-бітних збірках Notepad++. Сьогодні ситуація змінилася: оригінальний TextFX несумісний із 64-бітною версією, починаючи з v8.4, і виключений зі стандартного постачання.
Якщо ви використовуєте 32-бітний Notepad++, плагін встановлюється через Plugins → Plugin Manager → Show Plugin Manager → Available → TextFX → Install. Після встановлення в меню з’явиться розділ TextFX → TextFX Tools.

Переконайтеся, що позначено прапорець Sort lines case sensitive (або case insensitive, на ваш вибір). Виділіть текст (Ctrl + A) і натисніть Sort lines case sensitive. Плагін відсортує рядки, дублікати стануть поруч. Після цього в меню Edit → Line Operations → Remove Consecutive Duplicate Lines видалить повтори.
Для 64-бітної версії є сучасний форк, TextFX2. Він доступний на GitHub (rainman74/NPPTextFX2) і встановлюється вручну: завантажте DLL, покладіть у папку plugins\NPPTextFX2 всередині директорії Notepad++ і перезапустіть редактор. Функціональність та сама: сортування, видалення дублікатів, конвертація регістру.
Якщо задача разова, а встановлювати плагін не хочеться, способу 1 більш ніж достатньо.
⁉️🤔 Часті питання
Чому Notepad++ видаляє не всі дублікати?
Найімовірніше, рядки не ідентичні побайтово. Перевірте невидимі символи: зайві пробіли в кінці, табуляцію замість пробілів, різний регістр літер. Увімкніть View → Show Symbol → Show All Characters, стане видно, чим рядки відрізняються.
Як видалити дублікати БЕЗ урахування регістру?
Вбудована функція Remove Duplicate Lines враховує регістр: рядки «WordPress» і «wordpress» для неї різні. Щоб прибрати дублікати без урахування регістру, спочатку приведіть текст до одного регістру через Edit → Convert Case to → Lowercase (або Uppercase), потім запустіть Remove Duplicate Lines. Або використовуйте спосіб 2 із regex-прапором
(?i)на початку шаблону.
Чи можна видалити дублікати одразу в кількох файлах?
Notepad++ не підтримує множинний пошук із заміною через regex через штатний інтерфейс. Але можна використовувати Find in Files (Ctrl + Shift + F), він знайде рядки за regex в усіх файлах папки. Для пакетної заміни в кількох файлах зручніше скрипт на Python або PowerShell: читаєте файл, застосовуєте regex, перезаписуєте. Або плагін Python Script для Notepad++ із самописним скриптом.
Що швидше на великому файлі, вбудована функція чи regex?
Вбудована Remove Duplicate Lines відчутно швидша на файлах від 50 МБ і більше — це нативний код C++, а не рушій регулярних виразів. Regex-метод починає помітно гальмувати на сотнях тисяч рядків через lookahead-перевірки. Для порівняння: на CSV-файлі у 200 000 рядків вбудована функція відпрацьовує за 2-3 секунди, regex, за 15-20.
Видалив дублікати, як скасувати, якщо не те?
Ctrl + Z скасовує останню операцію. Якщо закрили файл без збереження, просто не зберігайте зміни при виході. У будь-якому разі перед масовими правками скопіюйте вихідний файл у сусідню папку, займає секунду, економить години.
Який спосіб обрати під вашу задачу
Якщо потрібно швидко почистити логи або CSV від повторів, беріть вбудовану функцію (спосіб 1). Два кліки, миттєвий результат, жодних плагінів. Це вибір за замовчуванням для переважної більшості сценаріїв. Результат видно одразу, без додаткових дій.
Regex (спосіб 2), коли важливий вихідний порядок рядків або потрібне тонке налаштування: видаляти дублікати лише у виділеному фрагменті, ігнорувати регістр, обробляти вкладені повтори. Крутіше, але потребує розуміння синтаксису.
TextFX (спосіб 3), лише якщо ви на 32-бітній версії і звикли до цього робочого процесу. Для 64-біт є TextFX2, але з появою вбудованої функції сенс у плагіні майже відпав.
Спробуйте вбудовану функцію прямо зараз на будь-якому текстовому файлі з повторами. Займе 5 секунд.



