Col*_*ard 751
Notepad ++可以执行此操作,前提是您希望逐行排序,并同时删除重复的行.
您将需要TextFX插件.这曾经包含在旧版本的Notepad ++中,但如果您有更新的版本,可以通过转到菜单中添加它Plugins -> Plugin Manager -> Show Plugin Manager -> Available tab -> TextFX -> Install.在某些情况下,它也可能被调用TextFX Characters,但这是一回事
该复选框和按钮所需现在将出现在菜单下:TextFX -> TextFX Tools.
确保选中"仅排序输出唯一...".接下来,选择一个文本块(Ctrl+ A以选择整个文档).最后,单击"排序区分大小写"或"排序行不区分大小写"

ste*_*ema 594
从Notepad ++ Version 6开始,您可以在搜索和替换对话框中使用此正则表达式:
^(.*?)$\s+?^(?=.*^\1$)
Run Code Online (Sandbox Code Playgroud)
并且什么也没有替换.这将从文件中最后一次出现的所有重复行中留下.
不需要排序,重复的行可以在文件中的任何位置!
您需要选中"正则表达式"和".匹配换行符"选项:

^ 匹配行的开头.
(.*?)匹配任何字符0次或更多次,但尽可能少(它完全匹配行,因为"匹配换行"选项,这是必需的).匹配的行被存储,因为括号周围和可访问使用\1
$ 匹配行的结尾.
\s+?^ 此部分匹配所有空格字符(换行符!),直到下一行的开头==>这将删除匹配行之后的换行符,以便在替换后没有空行.
(?=.*^\1$)这是一个积极的前瞻性断言.这是此正则表达式中的重要部分,只有在文件中的其他位置之后存在完全相同的行时,才会匹配(并删除)行.
div*_*nex 93
从 Notepad++ 8.1 版开始,有一个特定的命令可以精确执行这个常见问题的要求。On 可以使用菜单命令删除文本文件中的重复行Edit > Line Operations > Remove Duplicate Lines。
无需安装插件(如当前接受的答案所示),或预先对行进行排序,或在替换对话框中使用正则表达式语法,如其他答案建议的那样。
Gra*_*ers 89
如果行紧接在彼此之后,那么您可以使用正则表达式替换
搜索模式: ^(.*\r?\n)(\1)+
用...来代替: \1
blu*_*xff 36
记事本+ +
- >更换窗口
确保在搜索模式下
您已选择正则表达式单选按钮
找什么:
^(.*)(\ r吗?\n\1)+ $
用...来代替:
$ 1
之前:
我们在那里思考
我们在那里思考
单线
是否有可能
是否有可能
后:
我们在那里思考
单线
是否有可能
dr.*_*xon 31
在 7.8 版本中,您无需任何插件即可完成此操作 - 编辑 -> 行操作 -> 删除连续重复行。在此工作之前,您必须对文件进行排序以按连续顺序放置重复的行,但它确实像魅力一样工作。
排序选项在 Edit -> Line Operations -> Sort By ... 下可用
Pab*_*ruz 29
如果你不关心行顺序(我不认为你这样做),那么你可以使用Linux/FreeBSD/Mac OS X/Cygwin框并执行:
$ cat yourfile | sort | uniq > yourfile_nodups
Run Code Online (Sandbox Code Playgroud)
然后在Notepad ++中再次打开该文件.
eea*_*rly 17
后者版本的Notepad ++根本不包含TextFX插件.为了使用插件来排序/消除重复项,必须下载并安装插件(更多涉及)或使用插件管理器添加插件.
A)简单的方法(如描述在这里).
插件 - >插件管理器 - >显示插件管理器 - >可用选项卡 - > TextFX字符 - >安装
B)更多参与方式,如果需要另一个版本或简单方法不起作用.
从SourceForge下载插件:
打开zip文件并解压缩NppTextFX.dll
将NppTextFX.dll放在Notepad ++插件目录中,例如:
C:\ Program Files\Notepad ++\plugins
启动Notepad ++,TextFX将成为文件菜单项之一(如上面的答案#1中的Colin Pickard所示)
安装TextFX插件后,请按照答案#1中的说明进行排序和删除重复项.
另外,如果经常使用此命令或想要复制键盘快捷键(例如TextPad中的F9)进行排序,请考虑使用"设置">"Shorcut"映射器设置键盘快捷键.
SaP*_*per 14
到目前为止,可以使用记事本内置功能删除所有连续的重复行。首先对行进行排序:
编辑 > 行操作 > “按字典顺序对行进行排序”,
然后
编辑 > 行操作 > “删除连续的重复行”。
上面建议的正则表达式解决方案并没有为我删除所有重复的行,但也删除了连续的行。
Notepad++ has builtin operations:
Edit -> Line Operations -> Sort Lines...
Edit -> Line Operations -> Remove Duplicate Lines
Run Code Online (Sandbox Code Playgroud)
Maybe it works with just Remove Duplicate Lines, but I needed to see that the operations work by seeing that sorting works.
If it doesn't work, problem could be with different ending of lines, which I encountered now. You can check it with View -> Show Symbol -> Show End of Line.
Replace it to have it same.
Click on Search > Replace (or Ctrl + H)
Find what: \r\n
Replace with: \n
Search Mode: select Extended (\n, \r,...)
Replace All
Run Code Online (Sandbox Code Playgroud)
没有人为我工作。
一个解决方案是:
更换
^(.*)\s+(\r?\n\1\s+)+$
Run Code Online (Sandbox Code Playgroud)
与
\1
Run Code Online (Sandbox Code Playgroud)
无论文件是否已排序,您都可以使用下面的正则表达式来删除文件中任何位置出现的重复项。
查找内容:^([^\r]*[^\n])(.*?)\r?\n\1$
替换为:\1\2
搜索模式:
尽可能多次单击“全部替换”(或按住Alt+A快捷键),直到看到“0 个匹配项已被替换”