5

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

a
b
a

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

a

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

b

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

4 ответа4

8

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

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

Следуйте этому с помощью функции «Найти все», «Копировать», «Вставить» в новую вкладку, «Перестановить линии» | Уникальный и вы их извлекли.

1

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

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

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

0

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

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

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

0

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

  1. Сортировка строк с помощью команды Sublime 3 Edit -> Sort Lines
  2. Сохранить исходный файл как sorted_orig.txt
  3. Выделите весь текст и удалите дубликаты строк с помощью Sublime 3 Edit -> Permute Lines -> Unique command
  4. Сохранить измененный файл как no_dup_sorted.txt
  5. Запустите diff с помощью инструмента DiffMerge с файлами sorted_orig.txt и no_dup_sorted.txt .
  6. Используйте Export -> File Diffs в DiffMerge, чтобы получить список дубликатов в буфере обмена или сохранить в другом файле.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .