如何在Visual Studio代码中删除重复的行?

问题描述 投票:92回答:7

说您有以下文字:

abc
123
abc
456
789
abc
abc

我想删除所有“ abc”行,而只保留其中一行。我不在乎排序。结果应该是这样的:

abc
123
456
789
visual-studio-code
7个回答
172
投票

如果行的顺序不重要

[如果不是,请按字母顺序对行进行排序,然后执行以下步骤:(基于此相关问题:How do I find and remove duplicate lines from a file using Regular Expressions?

  1. Control + F

    ] >>
  2. 切换“替换模式”

  3. 切换“使用正则表达式”(带有.*

  4. 符号的图标)
  5. 搜索

  6. 字段中,键入^(.*)(\n\1)+$
  7. 在“ 替换为

  8. ”字段中,键入$1
  9. 单击the Replace All button(“全部替换”)。

  10. 如果行的顺序重要

很重要,那么您就无法排序

在这种情况下,请诉诸于VS Code之外的解决方案(请参阅here),或者-如果您的文档不是很大,并且您不介意发送“全部替换”按钮,请按照前面的步骤进行操作4和5,输入以下内容:(基于Remove specific duplicate lines without sorting

注意:块中包含太多行的文件(1000+);可能导致VS代码崩溃;在某些情况下可能会引入空白行。

  • 搜索

((^[^\S$]*?(?=\S)(?:.*)+$)[\S\s]*?)^\2$(?:\n)?
  • 替换为

  • $1

    然后单击“全部替换”按钮与重复出现的次数相同。

    单击按钮,当行数停止减少时,就足够了。导航到文档的最后一行以保持关注。


    41
    投票

    这里是一个非常有趣的扩展名:Transformer


    20
    投票

    刚刚遇到了同样的问题,找到了VSCode包“排序行”,有关详细信息,请参见VSCode市场(例如https://marketplace.visualstudio.com/items?itemName=Tyriar.sort-lines)。


    15
    投票

    要添加到@ Marc.2377的回复中。


    10
    投票

    安装DupChecker


    9
    投票

    尝试查找并用正则表达式替换。


    -1
    投票

    实际上不在vscode

    © www.soinside.com 2019 - 2024. All rights reserved.