是否有可能在notepad++中删除重复的行,只留下一行的单一出现?


当前回答

如果行是紧挨着的,那么你可以使用正则表达式替换:

搜索模式:^(.*\r?\n)(\1)+

替换为:\1

其他回答

notepad++的插件管理器目前不可用(不随发行版提供)。你必须手动安装它(https://github.com/bruderstein/nppPluginManager/releases),即使你这样做,很多插件是不可用的(没有TextFX)插件。

也许有另一个插件包含所需的功能。除此之外,在notepad++中做到这一点的唯一方法是使用一些特殊的正则表达式进行匹配,然后替换(Ctrl + F→替换选项卡)。

虽然有许多功能可通过编辑菜单项(修剪,删除空行,排序,转换EOL),但没有“唯一”操作可用。

如果你有Windows 10,那么你可以启用Bash(只需在微软商店中输入Ubuntu,并按照说明安装它),并使用cat your_file.txt | sort | uniq > your_file_editing .txt。当然,你必须在与“your_file.txt”相同的工作目录中,或者通过它的路径引用它。

如果你不关心行顺序(我认为你不关心),那么你可以使用Linux/FreeBSD/Mac OS X/Cygwin盒子,然后做:

$ cat yourfile | sort | uniq > yourfile_nodups

然后在notepad++中再次打开该文件。

在NPP很难做到这一点。 更好的方法是:

下载cygwin实用程序,这是一个简单的Linux终端在windows下。 它允许在Windows中执行任何Linux命令。 这里是排序-u。

在7.8版中,您可以在没有任何插件的情况下完成这一点-编辑->行操作->删除连续重复的行。在此工作之前,您必须对文件进行排序,以便将重复的行按连续的顺序放置,但它确实非常有效。

排序选项可在编辑->行操作->排序按…

你可能需要一个插件来做到这一点。您可以尝试ConyEdit的命令行cc.ddl(删除重复的行)。它是一个文本编辑器的跨编辑器插件,包括notepad++。

使用ConyEdit在后台运行,遵循以下步骤:

在文本末尾输入命令行cc.ddl。 复制文本和命令行。 粘贴,然后你会看到你想要的。

例子