Иногда случается, что необходимо в текстовом файле, например списке адресов электронной почты, найти все повторяющиеся строки и оставить только по одному экземпляру каждой строки. Сделать этом можно легко если у вас установлен текстовый редактор notepad++.
Удаление повторяющихся строк (дублей) в текстовом файле
Я рекомендую этот бесплатный легковесный текстовый редактор устанавливать всем, кому часто необходимо работать с простыми текстовыми файлами, а уж если вы балуетесь написанием скриптов то вы и так наверное уже про него знаете. Если вдруг не знаете, то почитайте описание notepad++. Там же его можно и скачать.
Решить поставленную задачу можно двумя способами:
-
Установить плагин Remove Duplicate Lines;
-
С помощью поиска и замены
Чтобы установить плагин выберите в меню Plugins \ Управление плагинами. В строке поиска вбейте Remove Duplicate Lines.
Установка плагина удаления дублирующихся строк в Notepad++
После этого выделите строки с повторениями и выберите меню Plugins \ Remove Duplicate Lines \ Remove Duplicate Lines.
Строки будут отфильтрованы и каждой уникальной строки останется только по одной копии.
Удаление дублирующихся строк в Notepad++ поиском заменой
Для этого способа ничего устанавливать не нужно. На вкладке с файлом, в котором нужно удалить дублирующиеся строки откройте окно поиска и замены Ctrl+H.
В качестве поля «Найти» введите:
^(.*?)$\s+?^(?=.*^\1$)
Поле «Заменить на» оставьте пустым. Переключатель режима поиска в положение «Регуляр. выражен.».
Удаление дублирующихся строк в текстовом файле с помощью Notepad++
Чтобы не забыть регулярное выражение и не вводить каждый раз можно записать макрос и затем сохранить его назначив горячую клавишу. Для этого перед выполнением поиска и замены нажмите иконку с красной точкой на панели инструментов или меню макрос \ начать запись. После того как строки будут отфильтрованы на предмет дублей остановите запись и сохраните через меню Макросы.
Сохранение макроса в Notepad++
После этого вы можете быстро вызывать эту команду горячей клавишей или через меню Макросы.
No Comments