HomeРазное › Удаляем повторяющиеся строки в текстовом редакторе Notepad++

Удаляем повторяющиеся строки в текстовом редакторе Notepad++

Необходимость удаления повторяющихся строк возникает при обрабротке больших текстовых документов.
Это простая, на первый взгляд, операция заставляет искать специальные решения в виде отдельных программ или использовать функции MS Exel по сортировке и выборке уникальных значений.

Но мы будем использовать бесплатный текстовый редактор Notepad++.

Делается это все в два клика.
1. Итак открываем ваш текстовый документ
2. Выделяем весь текст
3. Идем в меню TextFX -> TextFX Tools -> Sort lines case insensitive

При этом опция  «Sort outputs only UNIQUE lines» должна быть ВКЛЮЧЕНА

Вот и все — получаем отсортированные строки без повторов и дублей.

 

Если у вас этот плагин не установлен то делаем следующее:

Открываем:

Плагины -> Plugin Manager

На вкладке “Available” ставим галку на “TextFX Characters”
Нажимаем кнопку “Install”

Программа предложит перезапустится.
После перезапуска у вас появится дополнительная вкладка в меню от этого плагина.

14 Comments.[ Leave a comment ]

  1. Да класно описано,
    вот толко жаль что в этом редакторе нет кнопочек
    Идем в меню TextFX -> TextFX Tools -> Sort lines case insensitive

    • Это меню от внешнего плагина, который просто доставляется через менеджер плагинов самого notepad++.

  2. Как плагин называеся? Нет у меня такого

  3. Этот плагин необходимо установить.
    Открываем:

    Плагины -> Plugin Manager

    На вкладке «Available» ставим галку на «TextFX Characters»
    Нажимаем кнопку «Install»

    Программа предложит перезапустится.
    После перезапуска у вас появится дополнительная вкладка в меню от этого плагина.

  4. подскажите, а как быть, если надо удалить обе строки, которые продублированы?

  5. В этом редакторе не знаю как. Если есть опыт программирования, то можно написать программу за пять минут. Даже и не знаю в какой ситуации вам нужно удалить повторяющиеся строки…

  6. Да, именно такая ситуация — найти все дубли и убрать обе. чтоб остались только строки, которых было по одной.
    Есть ситуация, представьте. Связано с СЕО и обработкой больших списков ссылок. Ерунда, вроде, но я последний раз код писал лет 7 назад, и то на php.. А что-то другое больше 10 лет не вспоминал. Как же быть? 🙄

  7. Но ведь, например, из 5 дублей вам нужна будет 1 строка? В противном случае вы потеряете такую строку(ссылку) совсем.
    Но тогда ваша ситуация соответствует вышеописанному способу.
    Вот на php:

    
    <?php
    $arr = file('links.txt');
    
    
    echo  implode ( "<br>", arrayUnique($arr));
    
    
    function arrayUnique($array)
     {
         foreach ($array as $k => $v) {
             foreach ($array as $k2 => $v2) {
                 if (($v2 == $v) && ($k != $k2)) {
                     unset($array[$k]);
    		 unset($array[$k2]);
                 }
             }
         }
         return $array;
     }
    ?>
    
  8. Пока мой комментарий модерируется, уже нашел решение.
    Если кому интересно, вкратце:
    берем все строки и вставляем в эксель, в один столбец. в соседнем столбце (назовем его «счет») проставляем везде «1». Далее — сводная таблица, и сумма дублей по полю «счет». Сортируем результат по этому полю. Дубли будут идти подряд со значением «2» (и более) в «счете», уники — соотв. со значением «1». нужное скопировать, всё 🙂

  9. Verner, спасибо за участие. Да, примерно такой кусок кода и вертелся в уме. Но, пока я всё доведу до ума — состарюсь. Нужно еще загрузить строки из файла\файлов и т.д. Строк то не 5, а 5 тысяч 🙂
    Вобщем решил не мучать известное место и использовать подручные средства. может кому пригодится.

  10. Падправил вариант со значениями из файла.

  11. Подскажите пожалуйста как удалить дубли без сортировки, то есть просто следующие повторения чтобы исчезли и все.

  12. Вот здесь можно удалить дубли без сортировки:
    http://textmechanic.com/text-tools/basic-text-tools/remove-duplicate-lines/

Leave a Comment