Допустим, у меня было:
Example
Example
1
1
3
желанный:
Example
1
решение1
Предположим, что ваш файл отсортирован и завершен пустой строкой.
- Ctrl+H
- Найти то, что:
^(.+\R)(\1)*
- Заменить:
$2
- ГАЛОЧКА Учитывать регистр
- ГАЛОЧКА Обернуть вокруг
- ВЫБИРАТЬ Регулярное выражение
- СНЯТЬ ОТМЕТКУ
. matches newline
- Replace all
Объяснение:
^ # beginning of line
( # group 1
.+ # 1 or more any character but newline
\R # any kind of linebreak
) # end group 1
( # group 2
\1 # backreference to group 1 (i.e. same value as captured in group 1)
)* # end group 2, may appear 0 or more times
Замена:
$2 # content of group 2, will be empty if there are no duplicates
Скриншот (до):
Скриншот (после):
решение2
Следующее решение требует, чтобы повторяющиеся строки содержались в одной последовательности в файле.
Чтобы удалить уникальные строки, я нашел пост
Найти и СОХРАНИТЬ все ДУБЛИКАТЫ строк (вместо уникальных строк) в текстовом файле.
На основании ответа и комментариев в посте, нижеследующее удалит уникальные строки.
В диалоговом окне «Найти и заменить» ( Ctrl+ H) выполните следующие действия:
Поиск чего:^((.*)\R(\2\R?)+)*\K.*?\n
Заменить: ничего
Режим поиска: Регулярное выражение
. соответствует новой строке: проверено
Нажмите «Заменить все», чтобы удалить уникальные строки.
Для удаления дубликатов строк см. пост Блокнот удалить повторяющиеся строки.