Есть ли способ извлечь повторяющиеся строки в Sublime Text?

мне нужно выполнить 2 операции в Sublime Text: извлечь уникальные строки и извлечь повторяющиеся строки. Например, для ввода

a
b
a

извлечение дубликатов должно привести к:

a

и экстракта уникальной должна:

b

есть встроенная операция или плагин для этого?

14
задан karel
01.12.2022 20:08 Количество просмотров материала 2558
Распечатать страницу

4 ответа

вы можете легко найти повторяющиеся строки, запустив Sort Lines затем ищем это регулярное выражение, которое использует линейные граничные маркеры ^ и $ и обратная ссылка .

^(.+)$\n^$

следуйте этому с помощью Find All, Copy, Paste в новой вкладке, Permute Lines / Unique и вы извлекли их.

6
отвечен twamley 2022-12-03 03:56

к сожалению, у меня нет доступа к Sublime Text на данный момент, так что я не в состоянии проверить это, но я считаю, что что-то вроде следующего может работать для вас:

  1. сортировка строк через Edit -> Sort Lines команда
  2. установить Выделить Дубликаты плагин, и использовать его, чтобы выделить все повторяющиеся строки
  3. вырезать выделенные строки в буфер обмена и вставить их в новый файл
  4. строки, которые остаются в оригинале файл являются вашими Экстракт Уникального строки
  5. в новом файле выделите весь текст и удалите повторяющиеся строки через Edit -> Permute Lines -> Unique команда
  6. строки, которые остаются в новом файле, являются вашими Экстракт Дубликаты строки

Я не совсем уверен, что Шаг #1 действительно необходим, но я включил его на всякий случай.

1
отвечен MJH 2022-12-03 06:13

слегка модифицированный ответ @MJH выше, чтобы получить дублированные строки с Sublime 3 и DiffMerge, без использования Highlight Duplicates плагин.

  1. сортировка строк через Sublime 3 Edit -> Sort Lines команда
  2. сохранить исходный файл как sorted_orig.txt
  3. выделите весь текст и удалите повторяющиеся строки через Sublime 3 Edit -> Permute Lines -> Unique команда
  4. сохранить измененный файл как no_dup_sorted.txt
  5. запустить дифф с помощью DiffMerge с sorted_orig.txt и no_dup_sorted.txt файлы.
  6. использовать Export -> File Diffs в DiffMerge чтобы получить список дубликатов в буфер обмена или сохранить в другой файл.
0
отвечен Alex M. 2022-12-03 08:30

была такая же проблема (покажите мне простофили)... не нашел простого ответа на основе Sublime и вернулся к использованию команд Unix (в моем файле были данные, которые я хотел найти дубликаты в Столбцах 11-56):

cut -c 11-56 myfile.dat | sort | uniq -d

опубликовано здесь как FYI для других.

0
отвечен Tom Hundt 2022-12-03 10:47

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх