有没有办法在 Sublime Text 中提取重复的行?

Pom*_*oma 26 deduplication sublime-text-3

我需要在 Sublime Text 中执行 2 个操作:提取唯一行和提取重复行。例如对于输入

a
b
a
Run Code Online (Sandbox Code Playgroud)

提取重复项应导致:

a
Run Code Online (Sandbox Code Playgroud)

和 Extract unique 应该导致:

b
Run Code Online (Sandbox Code Playgroud)

是否有内置操作或插件来做到这一点?

小智 33

您可以通过运行Sort Lines然后搜索使用行边界标记^$反向引用的正则表达式轻松找到重复的行\1

^(.+)$\n^\1$
Run Code Online (Sandbox Code Playgroud)

使用“查找全部”、“复制”、“粘贴到新选项卡”、“排列行 | 独一无二,您已经提取了它们。


MJH*_*MJH 7

不幸的是,我目前无法访问 Sublime Text,因此我无法对此进行测试,但我相信以下内容可能对您有用:

  1. 通过Edit -> Sort Lines命令对行进行排序
  2. 安装Highlight Duplicates插件,并使用它来突出显示所有重复行
  3. 将突出显示的行剪切到剪贴板,并将它们粘贴到新文件中
  4. 保留在原始文件中的行是您的Extract Unique
  5. 在新文件中,选择所有文本,并通过Edit -> Permute Lines -> Unique命令删除重复行
  6. 保留在新文件中的行是您的提取重复

我不完全确定第 1 步实际上是否必要,但我将其包括在内以防万一。