Есть ли способ извлечь дубликаты строк в Sublime Text?

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

a
b
a

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

a

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

b

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

4 ответа

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

^(.+)$\n^\1$

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

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

  1. Сортировка строк через Edit -> Sort Lines команда
  2. Установите плагин https://github.com/qur2/HighlightDuplicates и используйте его, чтобы выделить все дублирующиеся строки
  3. Вырежьте выделенные строки в буфер обмена и вставьте их в новый файл
  4. Строки, которые остаются в исходном файле, являются вашими линиями Extract Unique.
  5. В новом файле выделите весь текст и удалите дубликаты строк с помощью Edit -> Permute Lines -> Unique команда
  6. Строки, которые остаются в новом файле, являются вашими строками извлечения дубликатов.

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

Я обнаружил, что самый простой способ сделать это с помощью Sublime Text - просто отсортировать строки (f5 на Mac), переставить строки> уникальными, а затем просмотреть разницу с помощью git.

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

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

Размещено здесь в качестве FYI для других.

Слегка измененный ответ @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. Запустите diff с помощью инструмента DiffMerge с файлами sorted_orig.txt и no_dup_sorted.txt.
  6. использование Export -> File Diffs в DiffMerge, чтобы получить список дубликатов в буфере обмена или сохранить в другой файл.
Другие вопросы по тегам