Как в нотепад найти одинаковые ячейки
Перейти к содержимому

Как в нотепад найти одинаковые ячейки

  • автор:

Поиск повторяющихся строк в Notepad++

Задача: найти повторяющиеся строки в большом текстовом файле.

Варианта четыре — заюзать Excel, установить плагин для Notepad++, воспользоваться регулярными выражениями или написать скрипт, который сможет это сделать.

Написание скрипта пока отложу.

Excel — долго и нудно. Большой объем данных.

С плагином TextFX не срослось в 64-битной версии операционной системы он не работает. Даже при запуске и установке от имени администратора (хотя при чем тут это).

В Интернетах нашел регулярное выражение: ^(.*?)$\s+?^(?=.*^\1$)

Не буду разбирать, что именно оно значит, главное — работает. Но для начала нужно отсортировать строки.

Как с помощью Notepad++ удалить повторяющиеся строки (дубли)?

Зачастую вы имеете данные большого объема, строки которых повторяются в файле не один раз.

Поскольку дубли (повторения) – это лишний мусор и ненужные данные, то необходимо от них избавиться, и сделать это можно через программу Notepad++.

1. Итак, запустите программу и в верхнем меню нажмите «Plugins», пункты «Plugin Manager» – «Show Plugin Manager»:

Как с помощью Notepad++ удалить повторяющиеся строки (дубли)?

После чего в открывшемся окне, во вкладке «Available» отметьте плагин «TextFX Characters» и нажмите «Install».

Как с помощью Notepad++ удалить повторяющиеся строки (дубли)?

2. Как только плагин успешно установился (если нет – пишите об этом в комментариях), в пустое окно вставьте ваш текст с дублирующимися строками и нажмите комбинацию клавиш:

 CTRL + A

Тем самым вы выделяете весь текст.

Перейдите в меню, раздел «TextFX», пункт «TextFX Tools». Проверьте, чтобы здесь стояла галочка у «Sort outputs only UNIQUE (at column) lines»:

Как с помощью Notepad++ удалить повторяющиеся строки (дубли)?

Нажмите «Sort lines case insensitive (at column)». После этих действий дублирующиеся строки в вашем тексте будут удалены.

Обратите внимание, что способ не подойдет для новых версий программы, а также для программы, имеющей разрядность 64 бит.

Регулярные выражения в Notepad++ Замена, дубликаты, удаление, плагины

Notepad++: обзор и регулярные выражения

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

И не потому что там есть множество инструментов для работы с исходным кодом, и не из-за обилия плагинов для Notepad++.
Всё проще — в те далёкие времена уроков по веб-дизайну было не так много, а Notepad++ был приведён в статейке по которой я упражнялся. Это было что-то вроде hello-world для HTML. ?
Ещё тогда меня удивил аскетичный интерфейс утилиты и обилие пунктов меню. И до сих пор Notepad++ это самый навороченный текстовый редактор, которым я ежедневно пользуюсь.

Меню регулярных выражений в notepad

В Notepad++, среди прочего, большое внимание уделяется собственному языку регулярных выражений.
Зная как обозначить запрос специальными поисковыми операторами, в Notepad++ можно реализовывать довольно серьезные задачи и работать с большими массивами данных.

Регулярные выражения Notepad++

Регулярные выражения могут использоваться в Notepad++ для множества логических операция: сортировка строк, удаление дубликатов, поиск и замена как отдельных символов, так и целых логических конструкций. По сути горизонт возможностей такого функционала не ограничен и зависит только от вашей фантазии по его применению.
Я позволил себе отсортировать регулярные выражения для Notepad++ в порядке их надобности и популярности использования. ?

\n — Перенос Enter . Что особенно приятно, может использоваться не только для поиска, но и для замены. Например, благодаря этому регулярному выражению, и двум кликам, вы можете поменять построчный список на список через запятую, и наоборот.

\t — Табуляция. Означает то же, что и действие клавиши Tab . Очень полезно, если вы комбинируете работу в excel и notepad++. Знаки tab по умолчанию переносятся как колонки таблицы.

\n\r — Выражение для поиска пустых строк.

\s — Пробел. В большинстве случаем вы можете искать просто введя символ пробела в поле поиска Notepad++, однако в составе сложных регулярных выражений пригодится это обозначение. Например, конструкция ^\s*$ найдёт все строки с пробелом.

^ и $ — Символы начала и конца соответственно.

\d — Этим регулярным выражением в Notepad++ можно обозначить любую цифру. Учитывайте, что под цифрой подразумевается «единичный экземпляр», а не всё число. Например, применив эту комбинацию в тексте с числом 789, последовательно найдутся все три цифры (7, 8, 9) в этом числе.

.(точка) и .*(точка со звёздочкой) — Любой символ и любая последовательность оных соответственно.

\D — Также найдутся любые символы, но не цифры.

[a-z], [A-Z], [a-Z], [0-9] — На мой взгляд, всё и так понятно, но я поясню. Такие регулярные выражения в квадратных скобках означают последовательность букв или цифр, и регистр искомого выражения.

Примеры и применение регулярных выражений в Notepad++

Согласитесь, весь этот список на вид звучит довольно нудно и напоминает что-то среднее между высшей математикой и программированием. ? Мне стоит привести примеры использования регулярных выражений и символов Notepad++.

Удалить пустые строки в Notepad++

Удалить пустые строки с помощью текстового редактора Notepad++ просто — выше я уже писал регулярное выражение для этого — \n\r . Его необходимо ввести в окне поиска и замены. При этом поле Замены оставьте пустым. Все пустые строки удалятся из документа, их место займут данные располагающиеся ниже.

Удалить пустые строки регулярным выражением в Notepad++

Либо, что конечно же проще, если ваше выражение больше никаких условий не требует, воспользуйтесь пунктом в меню. Edit => Line Operations => Remove empty lines . Там же есть и пункт для удаления пустых строк с пробелом: Containing Blank Characters .

Удалить всё после символа / перед символом в строке в Notepad++

Регулярное выражение удаление всех данных в строке до определенного символа, или их группы я часто использую, например, при сортировке маркетинговых баз с e-mail.

Для того чтобы в Notepad++ удалить всё в строке перед определенным символом, используйте комбинацию .+(искомая-часть). Давайте я разберу подробнее. Например, у нас есть txt файл с почтовыми адресами коллег, по одному адресу в столбик. Кроме того в этой же строке могут содержаться и ФИО человека через пробел, табирование, или через запятую.

Выглядит это вот так:
nastya@mail.ru Анастасия Евгеньевна Петрова
pasha@yandex.ru Павел Иванов Юрлица
vasya@notepad-plus-plus.ru Василий Павлович Работа

И таких контактов с списке у нас 500. Для того чтобы отделить домены, нам понадобится 2 действия в Notepad++, удалить всё в строках до определенного символа, а затем удалить всё в строках после.

Первая регулярное выражение для нас будет .+(@), в поле замены оставляем пустым.

Результат
mail.ru Анастасия Евгеньевна Петрова
yandex.ru Павел Иванов Юрлица
notepad-plus-plus.ru Василий Павлович Работа

Второе регулярное выражение Notepad для удаления после символа, можно сконфигурировать по доменному суффиксу, запрос будет (.ru.+)$.

Удалить дубликаты строк в Notepad++

Удаление дубликатов строк в Notepad++ это вообще отдельная большая тема. Мало кто знает как сконфигурировать поисковой запрос в текстовом редакторе и удалить повторяющиеся строки исключительно через Notepad++, не прибегая к помощи плагинов и сторонних расширений.

Но я — знаю ?. Чтобы удалить построчное дублирование в Notepad, используйте эту фразу:

Удалить дубликаты строк в Notepad++: регулярное выражение

Важно, чтобы все галочки в поиске у вас были включены. И зациклить поиск, и применять регулярные выражения, тогда Notepad++ точно сработает как надо, и удалит из документа дубли строк.

Второй способ избавится от дублирования строк

Второй способ удалить дубликаты строк с помощью Notepad++ абсолютно не элегантен, но функционален при ежедневном использовании. Навигатор по репозиторию дополнений встроен прямо в ваш Notepad. Просто ставим плагин через меню Plugins => Plugin manager .
Нужный нам плагин называется TextFx Characters.
Не слишком сложно, правда? Устанавливаются плагины автоматически, нужно будет только перезагрузить утилиту. Жмёте установить и активировать.

Функционал плагина местами дублирует многие регулярные выражения в Notepad++, а по-моему мнению собственно на них и основан.

Настройка для удаления дубликатов строк находится в меню: Textfx => Tools => Sort Lines insensetive .

Не забудьте выделить данные в редакторе, перед тем как нажимать.

Notepad++: плагины и альтернативы.

Для начала про плагины. Как вы поняли, в Notepad++ система плагинов весьма интуитивна и встроена в редактор. Но, кроме того, существует и множество других дополнений от сторонних авторов — в этом одна из прелестей freeware софта. Пожалуй, я как-нибудь выложу их обзор, если вам будет интересна тема Notepad и эта статья придётся по вкусу.

Что касается альтернатив, Notepad++ любят за регулярные выражения, легкость, простоту и бесплатность. Такое сочетание вообще, пожалуй, единственное в этом кластере, потому лично я не вижу прямых конкурентов и альтернатив для Notepad.

Sublime редактор, который похож на Notepad

Но если посмотреть на нишу шире, можно вспомнить про AkelPad (тоже текстовый редактор), Textmate, LeafPad, Sublime Text, Atom, Brackets…Так можно дойти и до моего любимого Adobe Dreamweaver. Однако, всё это по сути уже не то. Notepad++ неповторим, аскетичен, и по своему прекрасен, и очень в духе софта былых времён. ?

P.S. Если вам была полезна эта статья, оставьте коммент, и я буду знать что двигаюсь в правильном направлении. Или задавайте вопросы! welcome ⬇️⬇️⬇️

Как найти одинаковые строки в Notepad++ или EmEditor

Здравствуйте знатоки. Есть несколько файлов (.txt) в которых есть совпадающие строки. Как в 2 файлах найти одинаковые строки и вытащить их в отдельный файл.
То есть — есть файл 1 есть файл 2 — все совпадения строк необходимо вытащить в файл 3 для дальнейшей обработки
Повторю — файлов несколько и количество строк от 250 К до 4 М
Предпочтительно подсказка для Notepad++ но в любом случае за подсказку для EmEditor — тоже заранее спасибо

Лучший ответ
WPS : Get-Content file.txt | Sort-Object -unique
Остальные ответы

скинь файлы найду и в отдельный тхт сделаю
https://www.radikal.kz/image/OmwM
вот фото сделай так и найдеш свои строки

ЭлинаУченик (10) 4 года назад

То что описала — вершина айсберга. Задача намного сложней и мой вопрос только первый шаг к реализации. Описание всех действий — очень объемно. Но все равно — Вам большое спасибо и лайк

если речь идёт о сложной автоматизации, то я бы обратился к консольным утилитам из мира юникса. Есть виндовая версия
http://gnuwin32.sourceforge.net/packages/coreutils.htm

итак, знакомьтесь, наши друзья
sort — берёт файл и сортирует
uniq — умеет находить дубликаты

итого
подготавливаем два отсортированных исходника
sort file1 | uniq > file1_
sort file2 | uniq > file2_
а теперь выводим из них только дубликаты (которые встречаются в обоих)
uniq -d file1_ file2_ > дубликаты

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *